selenium中鼠标的常用操作

Posted kuaileya

tags:

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

selenium自动化中,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChains。


ActionChains类鼠标操作的常用方法

  • context_click()  右击
  • double_click()  双击
  • drag_and_drop()  拖动
  • move_to_element()  鼠标悬浮在一个元素上
  • click_and_hold()  按下鼠标左键在一个元素上不松开

在使用ActionChains类下面的方法之前,需要先引入ActionChains类

from selenium.webdriver.common.action_chains import ActionChains 

这里需要注意的是:ActionChains(driver),
                            driver:webdriver实例执行用户操作。
                            ActionChains用于生产用户的行为,所有的行为都存储在actionchains对象上,再通过perform()执行所有ActionChains中存储的行为。
                            perform()同样也是ActionChains类提供的方法,通常与ActionChains()配合使用。


鼠标右击context_click()操作

#定位到要右击的元素
right =driver.find_element_by_xpath("xx")

#对定位到的元素执行鼠标右键操作
ActionChains(driver).context_click(right).perform() 


鼠标双击double_click()操作

#定位到要双击的元素
double =driver.find_element_by_xpath("xxx") 

 #对定位到的元素执行鼠标双击操作 
ActionChains(driver).double_click(double).perform() 


鼠标拖放drag_and_drop()操作

技术图片
#定位元素的原位置 
element = driver.find_element_by_name("xxx")

#定位元素要移动到的目标位置 
target = driver.find_element_by_name("xxx")

#执行元素的移动操作 
ActionChains(driver).drag_and_drop(element, target).perform()
技术图片

 

鼠标悬浮在一个元素上move_to_element()

#定位鼠标需要悬浮的元素
ele= driver.find_element_by_id(‘i1‘)

#执行鼠标操作
ActionChains(driver).move_to_element(ele).perform()

 

以上是关于selenium中鼠标的常用操作的主要内容,如果未能解决你的问题,请参考以下文章

selenium学习:鼠标事件

[Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素常用方法键盘鼠标操作)

Selenium----鼠标操作

Python+Selenium自动化篇-6-模拟鼠标操作

Selenium常用API详解介绍

selenium 鼠标事件