[英]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.