实际工作中,可能会遇到某个页面元素,必须要把鼠标移动到上面才能显示出元素,或者元素需要鼠标双击等,或者需要键盘点击某个按键,那么这类操作, selenium给我们提供了ActionChains类,处理这些事件。

一、鼠标事件

ActionChains类可以模拟鼠标单击、双击、点击鼠标右键、拖拽等等操作事件。模拟鼠标操作需要先导入模块from selenium.webdriver.common.action_chains import ActionChains。

鼠标左键点击click()

还是使用上一篇文章中的例子,在腾讯企业邮箱页点击账户密码登录方式。

python selenium 模拟右键另存为 python selenium 模拟鼠标移动_软件测试


鼠标右键点击context_click(on_element=None)

输入邮箱账号密码,可以选择右键粘贴。

python selenium 模拟右键另存为 python selenium 模拟鼠标移动_软件测试_02


双击鼠标左键——double_click(on_element=None)

比如想双击某个元素。

python selenium 模拟右键另存为 python selenium 模拟鼠标移动_键盘事件_03


其他操作还包括,都是类似的形式

drag_and_drop(source, target) ——拖拽到某个元素然后松开

drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

move_to_element(to_element) ——鼠标移动到某个元素

move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

二、键盘事件

上面说了鼠标事件,键盘事件也是非常重要的,比如我们需要按回车键,ctrl+c复制等等操作,都离不开键盘事件,在selenium中,提供了Keys方法来供我们操作键盘。

比如使用Tab键,从账户输入框跳到密码输入框。同样需要先导入模拟键盘模块from selenium.webdriver.common.keys import Keys。

python selenium 模拟右键另存为 python selenium 模拟鼠标移动_软件测试_04