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