【Python_Selenium学习笔记(五)】基于Selenium模块实现鼠标操作

基于Selenium模块实现鼠标操作

前言

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

正文

1、Actionchains类常用方法

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

2、Actionchains类使用流程

  1. 导入鼠标事件类:from selenium.webdriver import ActionChains
  2. 实例化鼠标对象:ActionChains(browser)
  3. 找到鼠标要操作的元素:node = browser.find_element(By.XPATH, '')
  4. 指定鼠标行为:move_to_element(node) 如悬停到某一节点上
  5. 执行鼠标行为: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、实现效果

在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Selenium 中,你可以使用 `ActionChains` 类来模拟鼠标滚动操作。下面是一种常见的方法: 首先,你需要导入 `ActionChains` 类: ```python from selenium.webdriver import ActionChains ``` 然后,创建一个 `ActionChains` 的实例,并使用 `move_to_element` 方法将鼠标移动到页面上的某个元素上(如页面底部的元素): ```python actions = ActionChains(driver) element = driver.find_element_by_id('element_id') # 替换为实际元素的ID或其他定位方式 actions.move_to_element(element).perform() ``` 接下来,你可以使用 `send_keys` 方法模拟按下键盘上的箭头键来执行滚动操作。例如,按下下箭头键来向下滚动: ```python actions.send_keys(Keys.ARROW_DOWN).perform() ``` 你可以根据需要多次调用 `send_keys` 方法来完成连续的滚动操作。 完整的示例代码如下: ```python from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.keys import Keys # 创建浏览器驱动 driver = webdriver.Chrome() # 打开网页 driver.get('https://example.com') # 获取页面底部的元素并滚动 actions = ActionChains(driver) element = driver.find_element_by_id('element_id') # 替换为实际元素的ID或其他定位方式 actions.move_to_element(element).perform() # 执行滚动操作 for _ in range(10): actions.send_keys(Keys.ARROW_DOWN).perform() # 关闭浏览器 driver.quit() ``` 这样,你就可以使用 Selenium 模拟鼠标滚动操作了。 希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禾戊之昂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值