python+selenium 鼠标事件操作方法

时间:2021-05-22

一、前言

除了可以使用 click( ) 来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键、双击、悬停、拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封装在 ActionChains 类中。

ActionChains 类提供了鼠标操作的常用方法:

perform() 执行所有ActionChains中存储的行为 context_click() 右击 double_click() 双击 drag_and_drop() 拖动 move_to_element() 鼠标悬停

二、详细使用

1.鼠标右击操作

from selenium import webdriver#引入ActionChains类from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome()driver.get("url")#......#定位到需要右击的元素right_click = driver.find_element_by_id("id")#对元素进行右击操作ActionChains(driver).context_click(right_click).perform()#......

ActionChains(driver):调用ActionChains类,将浏览器驱动driver作为参数传入;

perform():执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作;

2.鼠标悬停

move_to_element()方法可以模拟鼠标悬停的动作,其用法与context_click()相同;

from selenium import webdriver#引入ActionChains类from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome()driver.get("url")#......#定位到需要悬停的元素above = driver.find_element_by_id("id")#对元素进行右击操作ActionChains(driver).move_to_element(above).perform()#......

3.鼠标双击

double_click() 方法用于模拟鼠标双击操作;

from selenium import webdriver#引入ActionChains类from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome()driver.get("url")#......#定位到需要双击的元素double_click = driver.find_element_by_id("id")#对元素进行右击操作ActionChains(driver).double_click(double_click).perform()#......

4.鼠标拖动操作

drag_and_drop(source,target) 在源位置元素上按住鼠标左键,然后移动到目标元素上释放。

source:鼠标拖动的源元素

target:鼠标释放的目标元素

from selenium import webdriver#引入ActionChains类from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome()driver.get("url")#......#定位元素的源位置source = driver.find_element_by_id("id")#定位元素要移到到的目标位置target = driver.find_element_by_id("id")#对元素进行拖动操作ActionChains(driver).drag_and_drop(source,target).perform()#......

以上这篇python+selenium 鼠标事件操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章