python - 无法使用 xpath 使用 selenium 选择元素

标签 python selenium xpath automation

我正在尝试使用 Selenium 来自动化流程,并且能够打开网页并单击链接,但是我偶然发现了一个需要单击链接的表格,但我无法选择该链接并且出现错误。需要帮助来选择该特定元素

现在这就是我所做的

elem2=browser.find_elements_by_xpath('/html/body/div[3]/table/tbody/tr[1]/td[2]/div[2]/table/tbody/tr[7]/td[3]/a::text')
elem2.click()

您可以在图片中看到我正在尝试访问 findhtml.org 链接。

我得到的错误是

InvalidSelectorException: Message: invalid selector: Unable to locate an element with the xpath expression /html/body/div[3]/table/tbody/tr[1]/td[2]/div[2]/table/tbody/tr[7]/td[3]/a::text because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '/html/body/div[3]/table/tbody/tr[1]/td[2]/div[2]/table/tbody/tr[7]/td[3]/a::text' is not a valid XPath expression.
  (Session info: chrome=81.0.4044.113)

enter image description here

最佳答案

首先您必须切换到iframe

示例:

frame = browser.find_elements_by_xpath('//iframe[contains(@src, \'hbx.media.net\')]')
browser.switch_to.frame(frame)

现在您可以点击

link = browser.find_elements_by_xpath('//a[contains(@href, \'http://www.findhtml.org\')]')
link.click()

关于python - 无法使用 xpath 使用 selenium 选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61408625/

相关文章:

python - Julia 的运行速度比 python 慢一个数量级

java - geb.driver.DriverCreationException : failed to create driver from callback

python - 还记得在 Selenium 中单击过的元素文本吗?

javascript - 如何在 python 中使用 selenium 驱动程序单击链接而不知道 anchor 标记内的文本

iphone - GDataXML/Libxml2 XPath concat 不起作用

python,寻找,讲述,阅读。从巨大的 csv 文件中读取行

python - 如何将整数列表转换为列表列表?

python - pandas.Series.where 不适用于字典

java - 如何使用 selenium WebDriver 查找文本字段的元素?

java - Selenium 无法识别弹出窗口上的对象