在使用谷歌浏览器驱动抓取网页时,遇到一个网页的下一页按钮无法点击,报错 如下
执行: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)
使用上述方案,解决该类无法点击问题。