如何解决此问题元素不可交互的Selenium Python [英] How to fix this issue element not interactable Selenium Python

查看:503
本文介绍了如何解决此问题元素不可交互的Selenium Python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的脚本代码中包含以下行,我从Selenium IDE获得的XPath可以正常工作:

I have the following line in my script code, where the XPath I got it from Selenium IDE that works fine:

driver.find_element_by_xpath("(//a[contains(@href, '')])[20]").click()

自动化测试在此停止并出现此错误:

An automation test stops here with this error:

Traceback (most recent call last):
File "Script.py", line 65, in <module>
    driver.find_element_by_xpath("//a[contains(@href, '')])[20]").click()
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable
(Session info: chrome=74.0.3729.131)
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 6.1.7601 SP1 x86_64)

如何解决此问题?

感谢您的帮助.

推荐答案

看到您只想抓取数据,建议您使用以下解决方案:

Seeing as you just want to scrape the data, I recommend you use this solution:

element = driver.find_element_by_xpath("(//a[contains(@href, '')])[20]")
driver.execute_script("arguments[0].click();", element)

通过Java单击元素,而不是硒使用自然"单击(以模拟用户体验).

Which clicks the element via Javascript as opposed to a "natural" click that selenium uses (to try to simulate the user experience).

我在在这里回答了类似的问题,该问题也链接到该文章上的另一篇文章.

I answered a similar question here that links to another post on it as well.

这篇关于如何解决此问题元素不可交互的Selenium Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆