- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
使用 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
最佳答案
您可以简化您的代码如下:
for name in name_list:
driver.find_element_by_xpath("//*[contains(text(), '%s')]" % name).click()
或
for name in name_list:
try:
driver.find_element_by_xpath("//*[contains(text(), '{}')]".format(name)).click()
except:
print("Element with name '%s' is not found" % name)
关于python - 通过 Selenium 和 Webdriver 循环遍历 find_element_by_xpath() 的元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51240272/
嗨, 我正在尝试抓取范围 class = "ws-value" 的值(在源代码图片中以红色包围)。我尝试过: test = driver.find_elements_by_xpath(".//span
我正在搜索网页的一部分: Order number 6097279 我想提取数字 - 每次都会从文本中更改(即:“订单号 6097279”给了我字符串“6097279”) 我尝试了以下方法并收到“无法
1.这是test_loginqq.py的代码: #coding=utf-8 from selenium import webdriver import time class loginout(
我对以下方法有疑问.. driver.find_element_by_xpath 当我通过 ide 导航时,我遇到了以下调用。 -> def find_element_by_xpath(self,
如果页面上不存在元素 find_element_by_xpath() 会花费太多时间挂起测试执行。有什么方法可以在 python 中为 find_element_by_xpath() 函数设置超时?
我想从以下代码中提取文本“ 3351500920037”: Productinformatie Gewicht
我正在尝试寻找一个字符串。但似乎不起作用。 HTML: 如何找到关键字bbb.xxx.com.a.bdydns.com.,然后点击提交删除? 最佳答案 @EVNRa
Air Jordan XI Black/Red
*args 以元组形式解压缩定位器。但在我的情况下,我只给出了两个参数,但它采用了三个参数。需要帮助才能理解。 我是 selenium 的新手,使用 python 玩过一些来自 github 的代码,
我正在尝试使用以下行查找元素: elements = driver.find_elements_by_xpath("//div[@class='Display']") 一旦我有了我知道有两个“显示”的
我一直在交替使用这两种方法来使用 selenium。 elem = driver.find_element_by_xpath("some_xpath") elem = driver.find_elem
我想用 Webdriver(适用于 Python、Chrome 和 Firefox)测试一个文本过滤器。网页上有一个名称列表和一个输入字段。当用户键入文本时,名称列表将被过滤,不包含键入文本的名称将被
我正在尝试从网站上抓取一些营养数据,到目前为止一切似乎都很顺利,直到我遇到格式略有不同的页面。 使用 selenium 和这样一行,返回一个空列表: values = browser.find_ele
使用 Python、Selenium 和 Webdriver,需要在网页上使用 find_element_by_xpath() 方法随后单击文本找到的元素。 (公司内部网页,无法提供网址) 通过 xp
代码试验: from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.niftyindice
如何从以下 HTML 代码中选择“开始”按钮并单击它。我想使用以下 python-selenium lib喜欢: driver.find_element_by_xpath('//div[contain
我是一名优秀的程序员,十分优秀!