[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 的知识啊。。。