以百度首页的设置为例:鼠标悬停后会出现一个列表
代码实现点击列表中的“高级搜索”这个功能
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#找到设置
element = driver.find_element(By.ID,'s-usersetting-top')
#鼠标悬停
ActionChains(driver).move_to_element(element).perform()
#点击“高级搜索”
#WebDriverWait(driver,10):在设置时间(10s)内,等待后面的条件发生。如果超过设置时间未发生,就抛出异常。等待元素出现:visibility_of_element_located
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//*[@id="s-user-setting-menu"]/div/a[2]')))
driver.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[2]').click()