xpath怎么点击完全匹配指定文字的标签?
比如我要点击百度首页的"学术",可以用xpath包含"学术"字样的'//a',但是如果我要点击完全等于"学术"的标签该怎么写呢?
<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').click()
up up ~ 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')
text = '学术'
result = EC.text_to_be_present_in_element(locator, text)(driver)
print(result) YunGuo 发表于 2020-12-19 22:48
EC模块可以判断文本
下面例子,文本如果存在,result的值为True,否则为False
你好,我的意思能不能根据文字(例如:"学术")来判断元素,然后点击元素. 本帖最后由 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').click()
页:
[1]