[英]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='Вернуться к старому дизайну']"}
我究竟做错了什么? 为什么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.