欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-21 23:32:52
...

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

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”字符串。
Selenium界面自动化测试(Python):鼠标和键盘事件
另外,欢迎加入软件测试技术交流群 313782132 ~进群可领取免费软件测试资料以及群内测试大牛解惑!

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

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

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

资源不错就给个推荐吧~