被其他人拦截时单击元素:在 Splinter/Selenium 中处理 ElementClickInterceptedException
抓取网页时,单击某些元素可能会具有挑战性,因为模糊元素的存在。在 Selenium 中,当尝试单击被另一个元素遮挡的元素时,会引发 ElementClickInterceptedException。一种常见的情况是,当加载指示器(通常由“loadingWhiteBox”之类的类表示)临时出现在页面上并阻止与底层元素交互时。
要解决此问题,请考虑以下方法:
element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
driver.execute_script("arguments[0].click();", element)
element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
webdriver.ActionChains(driver).move_to_element(element).click(element).perform()
这两种方法都可以有效规避遮挡元素并允许您点击预期目标。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3