【问题标题】:Getting Selenium Error - selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable获取 Selenium 错误 - selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互
【发布时间】:2022-06-10 21:00:58
【问题描述】:

尝试在页面上自动注册时,我在 Selenium 中遇到此错误,我不知道如何与此按钮进行交互。我可以检查它,找到它的 XPATH,单击它,但我无法让 Selenium 去做。到目前为止,我能够与页面中的所有其他内容进行交互,除了这个。

button = driver.find_element(by=By.XPATH, value='//*[@id="mobile-title-bar"]/div/button').click()  # click save button

这是我正在使用的代码,我也尝试过使用 ActionChains,但遇到了同样的问题。我假设是因为该按钮位于叠加层中(请参见屏幕截图),但由于某种原因无法获取。我在这里想念什么? 编辑:我不能分享网站 URL,这是付费墙后面的服务。

带有 HTML 元素的页面图片:

完整的错误文本:

 Traceback (most recent call last):
  File "C:\Users\Ryan\PycharmProjects\Albert_new_user\main.py", line 45, in <module>
    button = driver.find_element(by=By.XPATH, value='//*[@id="mobile-title-bar"]/div/button').click()  # click save button
  File "C:\Users\Ryan\PycharmProjects\Albert_new_user\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 89, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Users\Ryan\PycharmProjects\Albert_new_user\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 773, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\Ryan\PycharmProjects\Albert_new_user\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 430, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Ryan\PycharmProjects\Albert_new_user\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=102.0.5005.63)
Stacktrace:
Backtrace:
    Ordinal0 [0x008CD953+2414931]
    Ordinal0 [0x0085F5E1+1963489]
    Ordinal0 [0x0074C580+836992]
    Ordinal0 [0x0077A4F3+1025267]
    Ordinal0 [0x00770293+983699]
    Ordinal0 [0x0079449C+1131676]
    Ordinal0 [0x0076FC74+982132]
    Ordinal0 [0x007946B4+1132212]
    Ordinal0 [0x007A4812+1198098]
    Ordinal0 [0x007942B6+1131190]
    Ordinal0 [0x0076E860+976992]
    Ordinal0 [0x0076F756+980822]
    GetHandleVerifier [0x00B3CC62+2510274]
    GetHandleVerifier [0x00B2F760+2455744]
    GetHandleVerifier [0x0095EABA+551962]
    GetHandleVerifier [0x0095D916+547446]
    Ordinal0 [0x00865F3B+1990459]
    Ordinal0 [0x0086A898+2009240]
    Ordinal0 [0x0086A985+2009477]
    Ordinal0 [0x00873AD1+2046673]
    BaseThreadInitThunk [0x76B2FA29+25]
    RtlGetAppContainerNamedObjectPath [0x76F57A7E+286]
    RtlGetAppCo

ntainerNamedObjectPath [0x76F57A4E+238]

【问题讨论】:

  • 在点击保存按钮之前尝试执行 driver.switch_to.default_content()
  • 我在 DOM 中没有看到任何框架,但仍然尝试切换到 driver.switch_to.frame(0) 我是其中之一应该可以工作
  • 始终将完整的错误消息(从单词“Traceback”开始)作为文本(不是屏幕截图,不是指向外部门户的链接)(不是在 cmets 中)。还有其他有用的信息。
  • 您可以为该页面添加 url,以便我们对其进行测试。
  • @furas,在问题正文中添加了错误,感谢您的提示。我无法链接到该页面,因为它是一项需要登录的付费服务。这就是为什么我发布了 HTML 的 ss 以查看我是否遗漏了任何明显的内容。感谢您的帮助!

标签: python selenium selenium-webdriver webautomation


【解决方案1】:

使用这个 Xpath 来点击 SAVE 按钮

//button[contains(text(),'SAVE')]

【讨论】:

  • 不幸的是,这也不起作用。相同的错误信息
  • 请在此处分享网站网址以查看更多信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 2019-12-20
相关资源
最近更新 更多