selenium鼠标移动操作

import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
driver.implicitly_wait(5)

# 定位百度首页右上角的设置元素
set_ele = driver.find_element(by=By.XPATH, value="//span[@id='s-usersetting-top']")

# # 第一步:创建一个鼠标操作的对象
action = ActionChains(driver)
# # 第二步:添加移动操作
action.move_to_element(set_ele)
# # 第三步:执行动作
action.perform()

# 三行代码可写成一行:支持链式调用
# ActionChains(driver).move_to_element(set_ele).perform()

# (鼠标移动到设置元素后,会出现一个下选框,其中有高级搜索) 显式等待设置:高级搜索可点击
WebDriverWait(driver, 5, 0.2).until(
    EC.element_to_be_clickable((By.XPATH, "//a[text()='高级搜索']"))
).click()

time.sleep(5)
driver.quit()

 

posted @ 2022-01-06 15:12  2orange  阅读(763)  评论(0编辑  收藏  举报