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