ui自动化--鼠标操作ActionChains

Posted bendouyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ui自动化--鼠标操作ActionChains相关的知识,希望对你有一定的参考价值。

需要先引入鼠标操作模块:from selenium.webdriver.common.action_chains import ActionChains

实际上ActionChains这个模块的实现的核心思想就是,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个List里,当你调用perform()方法时,队列中的时间会依次执行

鼠标拖拽:ActionChains(driver).drag_and_drop(source=source,target=target)

from selenium.webdriver.common.action_chains import ActionChains
#获取到元素
el=driver.find_element_by_css_selector(#a)
dis1=driver.find_element_by_css_selector(#dis1)
ActionChains(driver).move_to_element(el).click(dis1).perform()#移动到某个元素上,并点击元素dis1


source=driver.find_element_by_css_selector(#dragger)
target=driver.find_element_by_css_selector(#i1)
source1=driver.find_element_by_css_selector(#dragger1)
target1=driver.find_element_by_css_selector(#i2)
source2=driver.find_element_by_css_selector(#dragger2)
target2=driver.find_element_by_css_selector(#i3)
source3=driver.find_element_by_css_selector(#dragger3)
target3=driver.find_element_by_css_selector(#i4)
ActionChains(driver).drag_and_drop(source,target).drag_and_drop(source1,target1).drag_and_drop(source2,target2).drag_and_drop(source3,target3).perform()#
#只有再perform的时候才会执行。先前的drag_and_drop只是将操作加入到了一个list种,再执行perform函数的时候,才会依次执行list种的操作

 


以上是关于ui自动化--鼠标操作ActionChains的主要内容,如果未能解决你的问题,请参考以下文章

UI自动化之鼠标键盘事件

selenium+python自动化93-鼠标事件(ActionChains)源码详解

python selenium鼠标键盘操作(ActionChains)

做UI最全的鼠标键盘事件!

selenium+python自动化94-行为事件(ActionChains)源码详解

selenium自动化之鼠标操作(转)