基于Selenium模块实现鼠标操作

前言

为了模拟鼠标操作,Selenium 模块提供了 Actionchains 类,可以模仿人的几乎任何鼠标行为操作; 在此篇文章主要介绍 Actionchains类 的常用方法,使用流程,并以具体的示例进行展示。

正文

1、Actionchains类常用方法

perform():执行ActionChains中存储的行为;context_click(on_element=None):点击鼠标右键;double_click(on_element=None):双击鼠标左键;move_to_element(to_element):悬停,鼠标移动到某个元素;drag_and_drop(source, target):模拟鼠标拖动动作,选定拖动源元素释放到目标元素后鼠标松开;click_and_hold(on_element=None) :点击鼠标左键,不松开;move_by_offset(xoffset=0, yoffset=0):鼠标从当前位置移动多少的距离;move_to_element_with_offset(to_element=start_node, xoffset=0, yoffset=0):移动到距离某一节点多少距离的位置,start_node:某一节点

2、Actionchains类使用流程

导入鼠标事件类:from selenium.webdriver import ActionChains实例化鼠标对象:ActionChains(browser)找到鼠标要操作的元素:node = browser.find_element(By.XPATH, '')指定鼠标行为:move_to_element(node) 如悬停到某一节点上执行鼠标行为:perform()

3、Actionchains类示例

3.1、需求分析

打开浏览器,输入百度地址 - 移动到设置节点 - 点击高级搜索节点

3.2、完整代码

import time

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver import ActionChains # 导入鼠标事件类

# 1、打开浏览器,输入百度地址

browser = webdriver.Chrome()

browser.get(url="http://baidu.com/")

# 2、移动到设置节点

set_node = browser.find_element(By.XPATH, '//*[@id="s-usersetting-top"]')

ActionChains(browser).move_to_element(to_element=set_node).perform() # 创建鼠标事件类对象,指定行为,执行行为

# 3、查找高级搜索节点,并点击

browser.find_element(By.XPATH, '//*[@id="s-user-setting-menu"]/div/a[2]/span').click()

time.sleep(2)

3.3、实现效果

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: