點擊連結時如何克服 Splinter/Selenium 中的'ElementClickInterceptedException”

Mary-Kate Olsen
發布: 2024-10-27 05:01:02
原創
784 人瀏覽過

How to Overcome

無法單擊元素:Splinter / Selenium 中的ElementClickInterceptedException

使用Splinter 或Selenium 抓取網頁時,在嘗試單擊特定內容時遇到困難可能會出現連結或按鈕。當網頁載入時,會出現此問題,顯示一個“loadingWhiteBox”,遮蓋了可點擊的元素。

儘管「loadingWhiteBox」在幾秒鐘後消失,但它仍然存在於 HTML 程式碼中。雖然該框保持可見,但它會阻止嘗試單擊元素,從而導致以下錯誤訊息:

selenium.common.exceptions.ElementClickInterceptedException: Message: Element 在點( 318.3000030517578,661.7999877929688) 處不可點擊,因為另一個元素

遮蓋它

要解決此問題並有效地單擊所需的元素,請考慮實現以下方法之一:

<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
driver.execute_script("arguments[0].click();", element)</code>
登入後複製

此方法利用execute_script 函數來執行點擊所需元素的JavaScript 程式碼

<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
webdriver.ActionChains(driver).move_to_element(element).click(element).perform()</code>
登入後複製

或者,此方法使用ActionChains 類別將滑鼠遊標移至元素的位置並執行單擊,從而有效地繞過遮擋元素。

以上是點擊連結時如何克服 Splinter/Selenium 中的'ElementClickInterceptedException”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!