鱼C论坛

 找回密码
 立即注册
查看: 2013|回复: 4

[已解决]xpath怎么点击完全匹配指定文字的标签?

[复制链接]
发表于 2020-12-19 16:04:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
比如我要点击百度首页的"学术",可以用xpath包含"学术"字样的  '//a[contains(text(),"学术")]',
但是如果我要点击完全等于"学术"的标签该怎么写呢?

<a class="mnav c-font-normal c-color-t"  target="_blank">学术</a>


from selenium import webdriver

driver=webdriver.Ie()
driver.get('https://www.baidu.com/')
driver.find_element_by_xpath('//a[contains(text(),"学术")]').click()


最佳答案
2020-12-20 21:37:41
本帖最后由 YunGuo 于 2020-12-20 21:42 编辑
lengyue869 发表于 2020-12-20 20:29
你好,我的意思能不能根据文字(例如:"学术")来判断元素,然后点击元素.


那你使用text()进行绝对匹配吧,如果元素中内容等于学术,则点击,否则报错,自己加个异常处理。
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Ie()
driver.get('https://www.baidu.com/')
driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[text()="学术"]').click()
20201219160048.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-19 21:37:49 | 显示全部楼层
up up ~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-19 22:48:51 | 显示全部楼层
EC模块可以判断文本
下面例子,文本如果存在,result的值为True,否则为False
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Ie()
driver.get('https://www.baidu.com/')
locator = ('xpath', '//*[@id="s-top-left"]/a[6]')
text = '学术'
result = EC.text_to_be_present_in_element(locator, text)(driver)
print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-20 20:29:33 | 显示全部楼层
YunGuo 发表于 2020-12-19 22:48
EC模块可以判断文本
下面例子,文本如果存在,result的值为True,否则为False

你好,我的意思能不能根据文字(例如:"学术")来判断元素,然后点击元素.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-20 21:37:41 | 显示全部楼层    本楼为最佳答案   
本帖最后由 YunGuo 于 2020-12-20 21:42 编辑
lengyue869 发表于 2020-12-20 20:29
你好,我的意思能不能根据文字(例如:"学术")来判断元素,然后点击元素.


那你使用text()进行绝对匹配吧,如果元素中内容等于学术,则点击,否则报错,自己加个异常处理。
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Ie()
driver.get('https://www.baidu.com/')
driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[text()="学术"]').click()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 00:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表