用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元素后不报错