学会了selenium 模拟鼠标操作,你就可以偷懒点点点了

这篇具有很好参考价值的文章主要介绍了学会了selenium 模拟鼠标操作,你就可以偷懒点点点了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

我们在做 Web 自动化的时候,有时候页面的元素不需要我们点击,值需要把鼠标移动上去就能展示各种信息。

这个时候我们可以通过操作鼠标来实现,接下来我们来讲一下使用 selenium 做 Web 自动化的时候如何来操作鼠标。

鼠标操作,我们可以使用 selenium 的 ActionChains 类来实现,我们先来认识一下这个类。

01.ActionChains 类常用方法

  • click_and_hold(on_element=None) :点击鼠标左键,不松开
  • context_click(on_element=None):点击鼠标右键
  • double_click(on_element=None):双击鼠标左键
  • drag_and_drop(source, target):拖拽到某个元素然后松开
  • move_by_offset(xoffset, yoffset):鼠标从当前位置移动到某个坐标
  • move_to_element(to_element) :鼠标移动到某个元素
  • release(on_element=None):在元素上释放按住的鼠标按钮
  • pause(seconds):暂停操作(秒)
     

02.ActionChains 类所有方法

  • perform(self)–执行鼠标操作方法
  • reset_actions()–清楚操作子令
  • click(on_element=None)–点击鼠标左键
  • click_and_hold(on_element=None):点击鼠标左键,不松开
  • context_click(on_element=None):点击鼠标右键
  • double_click(on_element=None):双击鼠标左键
  • drag_and_drop(source, target):拖拽到某个元素然后松开
  • drag_and_drop_by_offset(source, xoffset, yoffset) :拖拽到某个坐标然后松开
  • key_down(value, element=None):按下某个键盘上的
  • key_up(value, element=None) :松开某个
  • move_by_offset(xoffset, yoffset):鼠标从当前位置移动到某个坐标
  • move_to_element(to_element) :鼠标移动到某个元素
  • move_to_element_with_offset(to_element, xoffset, yoffset):移动到
  • 距某个元素(左上角坐标)多少距离的位置
  • pause(seconds):暂停操作(秒)
  • release(on_element=None):在元素上释放按住的鼠标按钮
  • send_keys(*keys_to_send):发送某个键到当前焦点的元素
  • send_keys_to_element(element, *keys_to_send) :发送某个键到指定元素
     

03.ActionChains 使用步骤

  1. 实例化:actions = ActionChains(driver)
  2. 调用鼠标操作方法:actions.move_to_element(menu)
  3. 执行鼠标操作方法:actions.perform()

04.实战

代码做的事情:

  • 打开测试网页:https://www.runoob.com/try/try.php?filename=tryjs_events_mouseover切换 iframe
  • 定位到绑定鼠标事件的 div
  • 将鼠标移动到 div 上触发事件(可以观察到 div 上字会发生变化)

import time
from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome(r"D:\chromeDriver\71\chromedriver71.exe")
driver.implicitly_wait(5)
driver.get(url="https://www.runoob.com/try/try.php?filename=tryjs_events_mouseover")
driver.maximize_window()
#切换iframe
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@id="iframeResult"]'))
#元素定位
ele = driver.find_element_by_xpath('//div[@οnmοuseοver="mOver(this)"]')
#移动鼠标到元素上触发事件
actions = ActionChains(driver)
actions.move_to_element(ele)
actions.perform()
time.sleep(5)
driver.quit()

05.总结

  • ActionChains 类中其他方法使用方式都一样,大家有空可以试一下
  • ActionChains 类中有很多方法,但是常用的并不多,上面已经列出,掌握常用方法即可
  • 特别注意:ActionChains 的执行原理,当你调用 ActionChains 的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用 perform()方法时,队列中的时间会依次执行。
  • ActionChains 类中的方法可以使用链式调用,大家思考思考自己拓展吧(其实很简单)。
     

当然,这里我也给大家准备了自动化测试学习的配套资源:

selenium点击,selenium,测试工具,python

 对于想学习软件测试或者进阶自动化测试的朋友应该会很有帮助,加入我的软件测试交流群:1150305204,免费获取!

机会只垂青有准备的人,这是一个靠本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,导致机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!
 文章来源地址https://www.toymoban.com/news/detail-653593.html

到了这里,关于学会了selenium 模拟鼠标操作,你就可以偷懒点点点了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium教程04:鼠标+键盘网页的模拟操作

    在webdriver 中,鼠标操作都封装在ActionChains类中,使用的时候需要导入这个包。 ActionChains方法列表如下: 1.单击左键+单击右键+左键双击的示例用法。 2.模拟鼠标拖动操作,该操作有两个必要参数,source:鼠标拖动的元素,target:鼠标拖至并释放的目标元素。 3.move_to_element()鼠

    2024年02月03日
    浏览(34)
  • Web自动化测试进阶 —— Selenium模拟鼠标操作

    在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。 首先导入ActionChains类: from selenium.webdriver.common.action_chains import ActionChains context_click():右击 double_click():双击 drag_and_drop():拖动 move_to_

    2024年02月09日
    浏览(37)
  • 手机扫描怎么做成文档?看完你就学会操作了

    相信很多职场人在办公的时候,经常会遇到大量的文件需要处理,其中一部分可能是纸质版的文件。但为了方便进行编辑,大家需要可以借助一些扫描软件对纸质版文件进行扫描,但是还有一部分小伙伴可能还不知道应该怎么进行操作。 今天就给大家带来三种较为简单的方法

    2024年02月08日
    浏览(38)
  • 「Python|Selenium|场景案例」如何模拟鼠标单击、双击、右击、长按和拖拽等操作?

    本文主要介绍如何在使用selenium进行自动化测试的时候模拟各种鼠标操作。 在进行自动化测试的时候,我们可能会需要需要进行鼠标操作的场景,比如: 测试右击,查看是否网页是否屏蔽了右键菜单 面对滑块式登录验证方式,模拟拖拽 模拟前进或后退等鼠标扩展操作 ……

    2023年04月08日
    浏览(36)
  • 〖Python WEB 自动化测试实战篇⑦〗- 实战 - selenium的基本元素操作与键盘鼠标模拟事件操作

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月08日
    浏览(31)
  • 【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,学习模拟鼠标+模拟键盘进行相关操作(精)(四)

    1、了解元素交互的常用方法 2、学习如何对多选元素进行操作 3、 学习模拟鼠标进行相关操作 ( 本节目标 ) 4、 学习模拟键盘进行相关操作 ( 本节目标 ) 用于向 Web 浏览器提供虚拟化设备输入操作的低级接口.除了刚刚讲过的Web元素交互之外, Actions 接口 还提供了对指定输

    2024年03月24日
    浏览(44)
  • Selenium滑动验证码破解(缺口对应却无法通过,需要做鼠标轨迹模拟)

    平台: 所涉及内容: 滑动验证码破解原理: 解决场景: 正常情况下,滑动验证码都是在canvas画出来的(残图一般是JS通过对后台返回的完整图片剪裁而来),在网页代码中可以找到对应信息 残图直接画在Canvas上,因此需要通过js代码将其导出,获取图片的base64数据(错存在直

    2024年02月12日
    浏览(31)
  • pyautogui 配合 selenium 实现桌面坐标系定位元素坐标,模拟真实鼠标行为

    pyautogui 配合 selenium 实现桌面坐标系定位元素坐标,模拟真实鼠标行为。 场景:当我需要点击某个元素,或者触发浏览器的自动填充账号密码时,自动化点击无效。但是想要模拟真实鼠标点击又需要元素的坐标通过pyautogui来实现。通过selenium node.location获取的坐标是相当于浏览

    2024年02月13日
    浏览(32)
  • vue自动滚动组件 可以支持鼠标滚轮操作

    vue自动滚动组件 可以支持鼠标滚轮操作

    2024年02月10日
    浏览(31)
  • Unity 模拟鼠标点击操作

    就想到了这个骚操作。 C#本身带的类库中没有关于鼠标操作的函数库,需要引用微软的dll。 重点需要引入user32.dll,可以在C:WindowsSystem32文件夹中找到,最好不要用网上下的,用本机的,我就吃了这个亏。 把dll放到unityAssets/Plugins文件夹下, 打包时系统自动把dll打包到 Unity简单

    2024年02月05日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包