找不到元素 Selenium Python
Posted
技术标签:
【中文标题】找不到元素 Selenium Python【英文标题】:Cant find element Selenium Python 【发布时间】:2021-12-17 20:05:51 【问题描述】:我一直在努力寻找解决这个问题的方法。我正在尝试单击超链接。由于某种原因,我找不到该元素,我也尝试在 href 之外获取值,以便我可以打开一个新选项卡并转到链接,但这并没有不工作。任何帮助将不胜感激!
这是 html 代码和我尝试单击/查找的链接。 https://imgur.com/a/CdDM9Od
到目前为止我尝试过的代码:
browser.find_element(By.XPATH, '/html/body/div/div[2]/div/table/tbody/tr/td/div/table/tbody/tr[2]/td/table/tbody/tr/td/a').click()
browser.find_element_by_xpath("(//a[contains(text(),'Verify Email')])[2]").get_attribute('href')
有2个href,1个是随机的,包含网站的url,第二个是我要找的链接。
【问题讨论】:
请包含您尝试过的代码。 我编辑了问题 【参考方案1】:如果链接的内部文本总是相同的,并且没有其他链接具有相同的内部文本值,您可以使用browser.find_element_by_link_text(' Verify Email ')
。这将返回驱动程序找到的第一个带有匹配文本值的锚标记,如果没有找到,则会抛出 NoSuchElement
错误。
【讨论】:
不,它给了我 NoSuchElement 错误 确保您作为函数参数输入的文本与 html 中的内容完全匹配,否则将找不到。 一切都匹配,但仍然无法正常工作 这个页面是您要通过browser.get()
调用还是您通过网页导航到然后尝试查找元素的页面?以上是关于找不到元素 Selenium Python的主要内容,如果未能解决你的问题,请参考以下文章
Selenium 使用 css、xpath、name、id (python) 找不到任何元素
PHPUnit + Selenium`InvalidArgumentException:找不到元素`
带有 IE11 的 Selenium 3.0.1 在 Windows 10 上找不到元素(在带有 IE11 的 Windows 7 上运行良好)