selenium點擊元素失敗,ElementClickInterceptedException


使用selenium在點擊部分標簽時顯示以下錯誤:
browser.find_element_by_css_selector('#blog_detail').click()

selenium.common.exceptions.ElementClickInterceptedException: Message:element click intercepted: Element <>…<> is not clickable at point (xxx, xxx). element click intercepted <>…<>

 

element click intercepted,顧名思義,就是無法點擊


如果是標簽沒有顯示在屏幕上,使用以下代碼

js = "window.scrollBy(0,1200);"
browser.execute_script(js)

下拉滾動條,讓要點擊的標簽顯示在屏幕上,然后點擊就不會報錯了


或者不管標簽有沒有顯示在屏幕上,都可以使用以下代碼

a = browser.find_element(By.CSS_SELECTOR,'xxx')
browser.execute_script("arguments[0].click();",a)

完成點擊


目前我就只遇到這兩種情況

selenium滾動到element所在位置
需要先最大化

self.browser.maximize_window()

然后

self.browser.execute_script(f'window.scrollTo(0,{load_more.location["y"]})')

3.使用action_chains方法

element = driver.find_element_by_css('div[class*="loadingWhiteBox"]')
webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()

4.使用回車代替點擊

driver.find_element(By.CSS_SELECTOR,"#submit").send_keys(Keys.ENTER)

 


免責聲明!

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



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