问题如下:
# 点击被罚款部门
driver.find_element_by_xpath('//body/div[2]/div[1]/div[2]/form[1]/div[3]/div[1]/div[1]/div[1]/div[1]/input[1]').click()
sleep(2)
element = driver.find_element_by_xpath('//body/div[4]/div[1]/div[1]/ul[1]/li[3]')
sleep(1)
element.click()
driver.execute_script("arguments[0].click();", element)
定位没有问题,但是一直报element not interactable怎么解决?
报错如下:
Traceback (most recent call last):
File "C:/xianyikun/shuangchongyufang/cesi.py", line 39, in <module>
element.click()
File "C:\Python38\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\Python38\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "C:\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
(Session info: chrome=92.0.4515.131)
Process finished with exit code 1
试一下使用智能等待替代driver.find_element_by_xpath()
element = WebDriverWait(dr, 10).until(EC.presence_of_element_located((By.XPATH, '//body/div[4]/div[1]/div[1]/ul[1]/li[3]')))
那个是什么标签控件啊?有什么特别的属性吗
如果是有disable或者是readonly或者是啥其他影响直接操作的属性都有可能出这个问题,
可以考虑执行js 修改标签熟悉。
具体还是要看看那个标签的。
如果有帮助,还请点个采纳哦!
解决办法:
最后试的时候,先键盘点击,然后使用click就可以了
driver.find_element_by_xpath('//body/div[2]/div[1]/div[2]/form[1]/div[3]/div[1]/div[1]/div[1]/div[1]/input[1]').click()
element = WebDriverWait(driver, 10).until(Ec.presence_of_element_located((By.XPATH, '/html/body/div[5]/div[1]/div[1]/ul/li[%d]'%random.randint(1,16))))
action = ActionChains(driver)
action.move_to_element(element)
action.send_keys("Enter")
driver.execute_script("arguments[0].click();", element)