繁体   English   中英

我的 xpath 是正确的,但是 selenium 没有看到元素

[英]my xpath is correct, but selenium doesn't see the element

我的代码:

driver.find_element_by_xpath("//svg[@class='SvgIcon_root__keb_Y'][@aria-label='Вернуться к старому дизайну']").click()

我的错误: selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//svg[@class='SvgIcon_root__keb_Y'][@aria-label='Вернуться к старому дизайну']"}

HTML代码

我究竟做错了什么? 为什么Selenium找不到他? 因为 focusable="false" 和 aria-hidden="true"? 如果是因为这个,我如何识别这个元素并点击它?

要访问SVG元素, xpath应该不同。 应该是这样的。

//*[local-name()='svg' and @aria-label='Вернуться к старому дизайну']

或者

//*[local-name()='svg' and @class='SvgIcon_root__keb_Y']

或者

//*[name()='svg' and @aria-label='Вернуться к старому дизайну']

理想情况下,您的代码应该像

driver.find_element_by_xpath("//*[local-name()='svg' and @aria-label='Вернуться к старому дизайну']").click()

您可以找到以下参考,如何与svg元素xpathforsvgelement交互

根据您裁剪的屏幕截图,我无法判断,但此元素可能位于 Iframe 中。 如果是这种情况,您需要将 WebDriver 的视图切换到此框架。

iframe = driver.find_element_by_xpath("Put the Iframe Xpath here")
driver.switch_to.frame(iframe)

然后你可以得到你想要的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM