就是有这样的问题呀,明明元素被定位到了,但是就是不点击。而且代码执行完了之后也没有报错信息。一开始以为是因为没有定位到,就换各种定位方法,后来还是不行,查百度一开始也查不到什么有用的信息,因为大家每个人描述问题描述的不一样。
用双击方法,也是不行:
# action = ActionChains(driver) # action.double_click(driver.find_element_by_xpath('//*[@id="root"]/div/section/aside/div/ul/li[4]/div[1]')).perform() # driver.find_element_by_xpath("//li[3]").click()
移动点击元素也不行:
# ele = driver.find_element_by_xpath("//li[4]//ul[1]//li[1]") # ActionChains(driver).move_to_element(ele).move_by_offset(5,5).click().perform()
每次想放弃的时候,想想感觉这不是一个无法解决的难问题,栽在这个问题上也太说不过去了吧,就一直研究,功夫不负有心人,终于找到一种方法:enter点击:
导入:
from selenium.webdriver.common.keys import Keys
driver.find_element_by_xpath("//li[4]//ul[1]//li[1]/a").send_keys(Keys.ENTER)
再次执行,就点击成功了!
各种原因导致的click点击的话,点击不上吧,我们这个没有iframe框,按钮也没有被隐藏,但是点击一级菜单后,整个菜单列表会发生变化,定位好定位,就容易出现点击不上的问题。