本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22515

本文为霍格沃兹测试开发学社的学习经历分享,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~
说明:本篇博客基于selenium 4.1.0

ActionChains说明

ActionChains都是selenium的一个模块,提供模拟鼠标动作和键盘动作的功能

ActionChains使用方法

# 步骤1:实例化一个ActionChains动作容器
actions = ActionChains(driver, 250)

# 步骤2:往动作容器中依次添加动作
actions.click(ele_click)                              # 调用的动作都会添加到动作容器中
actions.click_and_hold(ele_drag).release(ele_item2)   # 链式添加动作。每个动作返回值为容器对象,因此支持链式连续添加

# 步骤3:执行动作
actions.perform()

ActionChains动作列表

import time
from selenium import webdriver
from selenium.webdriver import ActionChains, Keys
from selenium.webdriver.common.by import By


driver = webdriver.Chrome()
driver.implicitly_wait(5)

# 创建动作容器
actions = ActionChains(driver, 250)


# 等待
n = 3
actions.pause(n)          # 插入在动作中,强制暂停n秒


# 鼠标点击
driver.get('http://sahitest.com/demo/clicks.htm')
ele_click = driver.find_element(By.CSS_SELECTOR, '[value="click me"]')
ele_dclick = driver.find_element(By.CSS_SELECTOR, '[value="dbl click me"]')
ele_rclick = driver.find_element(By.CSS_SELECTOR, '[value="right click me"]')