【发布时间】:2018-07-09 07:37:02
【问题描述】:
使用 Python、Selenium 和 Webdriver,需要随后在网页上使用 find_element_by_xpath() 方式单击文本中找到的元素。
(公司内部网页,不好意思不能提供网址)
通过 xpath 是最好的方法,但我想找到并单击多个文本。
它单独工作时像:
driver.find_element_by_xpath("//*[contains(text(), 'Kate')]").click()
对于多个,这是我尝试过的:
name_list = ["Kate", "David"]
for name in name_list:
xpath = "//*[contains(text(), '"
xpath += str(name)
xpath += "')]"
print xpath
driver.find_element_by_xpath(xpath).click()
time.sleep(5)
打印 xpath 的输出看起来不错,但是 selenium 说:
common.exceptions.NoSuchElementException
【问题讨论】:
-
那么您的实际问题是什么?页面上缺少不正确的 XPath 或列表中包含文本的某些元素?
-
@Andersson,先生,元素就在那里。问题是 XPath 不正确。
标签: python selenium selenium-webdriver xpath