- Selenium Webdriver 教程
- 家
- 介绍
- 安装
- 浏览器导航
- 识别单个元素
- 识别多个元素
- 显式等待和隐式等待
- 弹出窗口
- 向后和向前导航
- cookie
- 例外情况
- 动作类
- 创建基本测试
- 形式
- 拖放
- 视窗
- 警报
- 处理链接
- 处理编辑框
- 颜色支持
- 在 Python 中生成 HTML 测试报告
- 从 Excel 读取/写入数据
- 处理复选框
- 在多个浏览器中执行测试
- 无头执行
- 等待支持
- 选择支持
- JavaScript 执行器
- Chrome WebDriver 选项
- 滚动操作
- 捕获屏幕截图
- 右键点击
- 双击
- Selenium Webdriver 有用资源
- Selenium WebDriver - 快速指南
- Selenium WebDriver - 有用的资源
- Selenium WebDriver - 讨论
Selenium Webdriver - 操作类
Selenium 可以在 ActionsChains 类的帮助下执行鼠标移动、按键、悬停在元素上、拖放操作等。我们必须创建 ActionChains 类的一个实例,它将在队列中保存所有操作。
然后调用方法-perform,该方法实际上按照任务排队的顺序执行任务。我们必须添加语句 from selenium.webdriver import ActionChains 才能使用 ActionChains 类。
ActionChains 类的语法如下 -
#方法1 - 链式模式
e =driver.find_element_by_css_selector(".txt") a = ActionChains(driver) a.move_to_element(e).click().perform()
#方法 2 - 一个接一个地排队操作
e =driver.find_element_by_css_selector(".txt") a = ActionChains(driver) a.move_to_element(e) a.click() a.perform()
在上述两种方法中,动作都是按照调用的顺序一一执行的。
方法
ActionChains 类的方法如下:
click - 用于单击网络元素。
click_and_hold - 用于在网络元素上按住鼠标左键。
double_click - 用于双击网络元素。
context_click - 用于右键单击网络元素。
Drag_and_drop_by_offset - 用于首先在源元素上按下鼠标左键,导航到目标偏移量,最后释放鼠标。
Drag_and_drop - 用于首先在源元素上按下鼠标左键,导航到目标元素,最后释放鼠标。
key_up - 用于释放修饰键。
key_down - 用于按键而不释放它。
move_to_element - 用于将鼠标移动到网络元素的中间。
move_by_offset - 用于将鼠标移动到距当前鼠标位置的偏移量。
执行- 用于执行排队的操作。
move_to_element_by_offset - 用于将鼠标移动特定网络元素的偏移量。偏移量是从网络元素的左上角开始测量的。
释放- 用于释放网络元素上按住的鼠标按钮。
暂停- 用于在特定持续时间内停止每个输入(以秒为单位)。
send_keys - 用于将密钥发送到当前活动元素。
reset_actions - 用于删除本地和远程保存的所有操作。
让我们点击链接 - 使用 ActionChains 方法的隐私政策 -
代码实现
ActionChains 类的代码实现如下 -
from selenium import webdriver from selenium.webdriver import ActionChains driver = webdriver.Chrome(executable_path='../drivers/chromedriver') #implicit wait time driver.implicitly_wait(5) #url launch driver.get("https://www.tutorialspoint.com/about/about_careers.htm") #identify element s = driver.find_element_by_link_text("Privacy Policy") #instance of ActionChains a= ActionChains(driver) #move to element a.move_to_element(s) #click a.click().perform() #get page title print('Page title: ' + driver.title) #driver quit driver.close()
输出
输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。此外,应用程序的页面标题(从 driver.title 方法获取) - 关于Tutorials Point 的隐私政策 - Tutorialspoint 会打印在控制台中。