用selenium可以定位到一個元素,但是click()報錯,在界面可以點擊該元素。代碼報錯為:selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
排查問題思路
1.確定能定位到元素
2.判斷元素是否可以點擊
#判斷元素是否可以點擊 #利用顯示等待 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() driver.get("http://somedomain/url_that_delays_loading") #判斷元素是否可以點擊 def isclickable(xpath): try: WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, xpath))) return True except : return False
結果返回是false
解決辦法:
改變定位的元素。
報錯時定位的是svg元素,改為定位button元素后不報錯