当执行一句简单的点击超链接的代码(如下)时
wd.find_element_by_css_selector(".goto_rtgame2").click()
出现错误如下:
selenium.common.exceptions.ElementNotInteractableException: Message: Element could not be scrolled into view
页面的代码如下图:
所有的代码都是对的,但是,执行的结果就是不可以,于是,我把点击事件修改为不是点击 a 链接,而是点击图片,结果就可以了执行了,代码修改如下:
wd.find_element_by_css_selector(".g2_ii2").click()
找到图片的执行方法,然后执行 click事件即可!
我还遇到了一种出现这个问题的操作:
我执行下列代码
if wd.find_element_by_css_selector(".g2_gmtcct4.g2_gmtcct4fn"):
print("今天没有机会了")
wd.find_element_by_css_selector(".g2_gmtcct4.g2_gmtcct4fn").click()
else:
# 执行其他操作
这个是一个提示框的确定按钮,程序走了 if ,但是,这时并没有弹窗出现,再调用 click 事件的时候,出现了相同的错误。
解决:先判断弹窗是否存在,代码如下:
element = wd.find_element_by_class_name("g2_gmtcct4.g2_gmtcct4fn")
if element.is_displayed(): # 判断弹窗是否存在
print("今天没有机会了")
wd.find_element_by_css_selector(".g2_gmtcct4.g2_gmtcct4fn").click()
else:
# 执行其他操作