克服Splinter / Selenium 中的ElementClickInterceptedException
當嘗試點擊網頁上的元素時,您可能會遇到令人沮喪的ElementClickInterceptedException。當一個元素遮擋另一個元素的可點擊區域時,就會發生這種情況。具體來說,錯誤訊息表示您嘗試點擊的元素被「loadingWhiteBox」元素遮住。
為了解決此問題,您已嘗試使用 is_element_present_by_css 指令來確定有問題的元素是否存在。但是,這種方法不會產生所需的結果,因為即使元素處於非活動狀態,它仍然存在。
要有效解決這種情況,請考慮以下兩種方法之一:
利用JavaScript 執行:
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()
這些方法應該使您能夠繞過阻礙元素並成功單擊想繞過阻礙元素並成功單擊想繞過要的元素。
以上是如何克服 Splinter/Selenium 中的 ElementClickInterceptedException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!