软件测试学习笔记丨 Selenium 高级控件交互方法
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/31681
ActionChains 解析
实例化类 ActionChains,参数为 driver 实例。
中间可以有多个操作。
.perform()代表确定执行。
ActionChains(self.driver).操作.perform()
键盘事件
按下(key_down)、释放(key_up)键盘键位
结合 send_keys 回车(send_keys(Keys.ENTER))
官方接口手册:
https://www.selenium.dev/documentation/webdriver/actions_api/keyboard/#tabs-1-1
官方接口手册:
https://www.selenium.dev/documentation/webdriver/actions_api
使用场景和对应事件
键盘事件: 使用 shift 实现大小写(Keys.SHIFT)
键盘事件: 输入后回车(Keys.ENTER)
键盘事件: 复制粘贴(Keys.CONTROL.sendkeys(“xvvv”.))
鼠标事件: 双击(double_click(ele))
鼠标事件: 拖动元素(drag_and_drop(ele))
鼠标事件: 指定位置(例: 悬浮在下拉框的小三角位置处)(move_to_element(ele))
鼠标事件: 滚轮/滚动操作-滚动到元素(scroll_to_element(ele)、scroll_by_amount(x,y))
键盘事件-使用 shift 实现大写
ActionChains(self.driver): 实例化 ActionChains 类
key_down(Keys.SHIFT, ele): 按下 shift 键实现大写
send_keys(“selenium”): 输入大写的 selenium
perform(): 确认执行
键盘事件-输入后回车
直接输入回车: 元素.send_keys(Keys.ENTER)
使用 ActionChains: key_down(Keys.ENTER)
键盘事件-复制粘贴
多系统兼容 mac 的复制按钮为 COMMANDwindows 的复制按钮为 CONTROL
左箭头:Keys.ARROW_LEFT
按下 COMMAND 或者 CONTROL: key_down(cmd_ctrl)
按下剪切与粘贴按钮: send_keys("xvvvvv")
鼠标事件
双击
拖动元素
指定位置(悬浮)
官方接口手册:
https://www.selenium.dev/documentation/webdriver/actions_api/mouse/
鼠标事件-双击
double_click(元素对象): 双击元素
鼠标事件-拖动元素
drag_and_drop(起始元素对象, 结束元素对象): 拖动并放开元素
鼠标事件-悬浮
move_to_element(元素对象): 移动到某个元素
滚轮/滚动操作-滚动到元素
滚动到元素
scroll_to_element(WebElement 对象):滚动到某个元素
根据坐标滚动
滚轮/滚动操作-根据坐标滚动
scroll_by_amount(横坐标, 纵坐标)
注意: selenium 版本需要在 4.2 之后
接口文档:
https://www.selenium.dev/documentation/webdriver/actions_api/wheel/#tabs-3-1
软件测试开发免费视频教程分享
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/93455f6946f568b02bffedd04】。文章转载请联系作者。
评论