Selenium界面自动化测试(Python):鼠标和键盘事件

鼠标和键盘是电脑的常用输入设备,那么对鼠标和键盘事件的模拟就必不可少了。

1. 鼠标事件

鼠标事件是指模拟鼠标的输入事件。

之前的文章中使用了click方法模拟鼠标单击,除此之外Selenium还支持双击、右击:

action_chains = ActionChains(driver)
action_chains.double_click(web_element).perform()
action_chains.context_click(web_element).perform()

ActionChains对象的double_click和context_click方法分别表示双击和右击鼠标,但要实际执行操作需要调用其perform方法。

ActionChains类内置了复杂的鼠标操作,比如以下代码表示在元素1(web_element_001)上按下鼠标,然后将元素1拖动到元素2(web_element_002)上,最后松开鼠标:

action_chains = ActionChains(driver)
action_chains.click_and_hold(web_element_001).move_to_element(web_element_002).release(web_element_002).perform()

此外,还有一个drag_and_drop方法,其可看做是以上一系列操作的简化版:

action_chains = ActionChains(driver)
action_chains.drag_and_drop(web_element_001, web_element_002).perform()

2. 键盘事件

键盘事件是指模拟键盘的输入事件。

之前的文章中使用了send_keys方法向输入框中输入文本,这只是send_keys方法的最基本用法。除了接受字符串,send_keys方法还可以接受Keys类属性作为参数:

web_element.send_keys(Keys.ENTER)

以上代码模拟按键盘的回车键。

当然sendKeys方法也支持模拟按组合键:

web_element.send_keys(Keys.CONTROL, 'a')

以上代码模拟按键盘的“Ctrl + A”组合键。

如需清除元素的已有文本,可调用WebElement对象的clear方法,该方法用于清除元素的文本。

对于键盘事件,除了send_keys和clear方法外,ActionChains类也支持键盘事件:

action_chains = ActionChains(driver)
action_chains.key_down(Keys.SHIFT).send_keys_to_element(web_element, 'qwerty').key_up(Keys.SHIFT).send_keys(
    'qwerty').perform()

以上代码实例化了一个ActionChains对象,然后设置要执行的输入,最后调用perform方法执行一系列动作。其中的send_keys_to_element方法的第一个参数为一个元素,key_down和key_up方法分别表示按下和松开按键,因此以上代码实际上是向web_element变量代表的元素中输入“QWERTYqwerty”字符串。
在这里插入图片描述
另外,欢迎加入软件测试技术交流群 313782132 ~进群可领取免费软件测试资料以及群内测试大牛解惑!

测试工程师职业发展路线图

功能测试 — 接口测试 — 自动化测试 — 测试开发 — 测试架构师

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。

资源不错就给个推荐吧~

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值