UI自动化:鼠标键盘操作
自动化测试过程中无时无刻不涉及鼠标和键盘操作,除了元素定位以外,其他都是由键盘和鼠标操作来完成的。比如一个简单的搜索动作,首先通过键盘向搜索框键入内容(send_keys),然后通过鼠标点击搜索按钮(click)完成搜索。
在selenium中,所有的键盘鼠标动作都来自于一个类ActionChains,先来导入它,
from selenium.webdriver.common.action_chains import ActionChains
我们来看看它的包含了哪些方法;

通过ActionChains类的结构可以看出,它提供的操作是多种多样的,不过并非所有方法都会经常用到,掌握几种比较常见的即可,
鼠标操作:
- 左键单击:click
- 右键单击:context_click
- 左键双击:double_click
- 悬浮:move_to_element
- 拖拽:drag_and_drop
键盘操作:
键盘最常用的方法就是send_keys(),但它可操作的按键却非常多,
那selenium有哪些已经封装好的按键呢?还是先导入一个类Keys,
from selenium.webdriver.common.keys import Keys
来看看它封装了哪些按键,这里只截取了部分:

上面认识了大部分常用方法,那如何通过动作链使用它们呢?首先,
# 实例化动作链对象 action = ActionChains(driver) #参数为浏览器驱动对象
如果要执行鼠标的拖拽动作,
action.drag_and_drop().perform()
注意:perform之前的动作只是声明,并没有真正的执行,只有加上perform后,前面的所有动作还会执行。
另外,要连续执行一系列动作也是可以的,如下,
action.move_to_element().drag_and_drop().send_keys().perform()
试着点击键盘上Enter键,
action.send_keys(Keys.ENTER).perform()
当然,连续按键和组合按键的用法类似,如下,
action.send_keys(Keys.CONTROL, Keys.NUMBER1).perform()
总的来说,这些知识点的难度都不大,多加练习很容易掌握。

浙公网安备 33010602011771号