python-selenium 点击事件无法触发问题

在使用谷歌浏览器驱动抓取网页时,遇到一个网页的下一页按钮无法点击,报错 如下

执行:elem.click()

unknown error: Element 。。。 is not clickable at point (1305, 754). Other element would receive the click: ...

  

   网上很多方案,按钮没有展示、按钮被覆盖、按钮没有展示的当前窗口中。但是都不是。我页面一开始就最大化,仅有一屏展示内容,且下页按钮没有被遮盖(查看页面元素确定没有覆盖)

   后面找到说是点击的按钮上有hover等事件,导致获取该元素点击时,获取自动跳到其他元素,具体什么规则我不是很清楚。

   不能直接在代码中执行点击事件,使用执行js的方法,再去执行点击事件可以解决这样的问题。

   

browser.execute_script("$(arguments[0]).click()", elem)  

但是仅使用该方法,普通的点击事件又无法执行了,综合一下,以下方案可以解决

try:
    elem.click()
except Exception as e:                            
    browser.execute_script("$(arguments[0]).click()", elem) 

 

使用上述方案,解决该类无法点击问题。

 

 
posted @ 2019-11-07 13:52  Black兔斯基  阅读(2886)  评论(0编辑  收藏  举报