有时候元素可以定位的道,但是click无效,执行代码也不报错,页面效果就是没有进行点击。
代替click的方法很多,都可以尝试下,那个行就用哪个。
1.双击
#action = ActionChains(driver)
# action.double_click(driver.find_element_by_xpath('//*[@id="root"]/div/section/aside/div/ul/li[4]/div[1]')).perform()
2.键盘enter键
from selenium.webdriver.common.keys import Keysdriver.find_element_by_xpath("//li[4]//ul[1]//li[1]/a").send_keys(Keys.ENTER)
3.键盘上下键,对于下拉框来说,按下键盘向下的键也会打开下拉列表
elem = self.driver.find_element_by_xpath('XXX')
elem.send_keys(Keys.ARROW_DOWN)
4.还可以直接用js点击
xp = 'XXXXXX'
button = self.driver.find_element_by_xpath(xp)
self.driver.execute_script("arguments[0].click();",button)
以上。有更新再补充。