在使用谷歌瀏覽器驅動抓取網頁時,遇到一個網頁的下一頁按鈕無法點擊,報錯 如下
執行: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)
使用上述方案,解決該類無法點擊問題。