我正在尝试使用 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)
最佳答案
首先您必须切换到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/