簡體   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