[python] selenium ActionChains 知识
鼠标事件
鼠标事件一般包括鼠标右键、双击、拖动、移动鼠标到某个元素上等等。
当你调用 ActionChains 的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用 perform() 方法时,队列中的时间会依次执行。
需要引入 ActionChains 类。
引入方法:
from selenium.webdriver.common.action_chains import ActionChains
ActionChains 常用方法:
perform() 执行所有ActionChains 中存储的行为;
context_click() 右击;
double_click() 双击;
drag_and_drop() 拖动;
move_to_element() 鼠标悬停。
鼠标双击示例:
#定位到要双击的元素
qqq =driver.find_element_by_xpath("xxx")
#对定位到的元素执行鼠标双击操作
ActionChains(driver).double_click(qqq).perform()
鼠标拖放示例:
#定位元素的原位置
element = driver.find_element_by_name("source")
#定位元素要移动到的目标位置
target = driver.find_element_by_name("target")
#执行元素的移动操作
ActionChains(driver).drag_and_drop(element, target).perform()
在自动化流程测试中 selenium 很重要,用到 ActionChains 地方很多,但有时候写代码时,不要局限于 selenium,也可以用其他模块,比如 pyautogui,win32api 等。
比如浏览器弹窗,如果你定位不了,可以用 pyautogui 的知识解决。
话说,最近学了很多 selenium 的知识啊。。。
这个必须点赞👍