Python Selenium遇到element click intercepted


作者寄語:Don't worry, be happy!

[出現問題]
點擊頁面按鈕,出現錯誤element click intercepted

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x00000174F1F59520>
response = {'status': 400, 'value': '{"value":{"error":"element click intercepted","message":"element click intercepted: Element ...\n\\tRtlGetAppContainerNamedObjectPath [0x77757A4E+286]\\n\\tRtlGetAppContainerNamedObjectPath [0x77757A1E+238]\\n"}}'}
C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: ElementClickInterceptedException

[錯誤原因]
由於selenium執行特別快,頁面加載過程需要一點時間,導致selenium執行時,可能找到了元素,但元素未加載完成而處於不可點擊狀態或者元素未加載完成而某些元素疊加到了此元素之上(疊加之上的元素不可點擊)

[解決方法]
使用time.sleep()將等待時間延長,待頁面加載完畢后再執行點擊操作

# 等待3s,launch才能加載完成
time.sleep(3)
# launch操作
# WebDriverWait:等待10s直到指定元素處於可點擊狀態,然后點擊該元素
WebDriverWait(driver, 10).until(ec.element_to_be_clickable((By.XPATH, '/html/body/div/div/div[3]/div/div/div[2]/div[1]/div[1]/div[3]/button'))).click()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM