web自动化 -- ActionChains()的鼠标操作
Posted mua~mua~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web自动化 -- ActionChains()的鼠标操作相关的知识,希望对你有一定的参考价值。
webdriver模块下的ActionChains类
一、两个主要组件
1、实例化 ActionChains()
2、ActionChains(driver).perform()
perform()的作用就是 统一提交 ActionChains(driver) 列表里面的 鼠标操作
二、ActionChains()里面常用的方法
1、点击元素: click("目标元素")
2、点住元素不放: click_and_hold("目标元素")
3、双击元素: double_click("目标元素")
4、在某元素上松开: release("目标元素")
5、拖拽某个元素到另一个元素上放开: drag_and_drop("按住的元素", "放开的目标元素")
源码:
6、按住什么东西(可以是元素、可以是键盘): key_down() 。这个要和 key_up()来配合使用
例如:复制、粘贴
其实,复制还有一个更好用的三方库 pyperclip 。 cmd输入命令:pip install pyperclip
注:这里有个特殊的就是。key_down() 是按住不放,需要 key_up() 跟起来才会放开。而,send_keys()是 完成动作后直接放开的,比如上面 输入 v 的操作就是,按住 v 又马上放开了 v 。
7、移动鼠标悬停到某个元素上面: move_to_element("目标元素")
三、复杂操作示例
我这里为什么会 send_keys(Keys.ESCAPE) 呢?
因为 当我输入完一串字符后,会出现 右键单击的菜单。
另外还有一个 TouchActions() 类。做滑动屏幕用的,对 H5 的效果相当明显。
以上是关于web自动化 -- ActionChains()的鼠标操作的主要内容,如果未能解决你的问题,请参考以下文章
selenium+python自动化93-鼠标事件(ActionChains)源码详解
selenium+python自动化94-行为事件(ActionChains)源码详解