selenium自动化之鼠标操作

摘要:
,selenium为我们提供了一个处理此类事件的类——ActionChains。ActionChains可以模拟鼠标操作,例如单击、双击、右键单击、拖动等。鼠标移动时演示页面的截图:demo1.使用鼠标移动到WriteonOver按钮的顶部。python脚本如下:读取鼠标移动代码,首先定义浏览器驱动程序,最大化窗口,打开测试页面URL,定位到测试按钮顶部,定义一个变量来存储ActionChains类,然后使用move_to_元素移动到按钮上方。

在做自动化测试的时候,经常会遇到这种情况,某个页面元素,你必须要把鼠标移动到上面才能显示出元素。那么这种情况,我们怎么处理呢?,selenium给我们提供了一个类来处理这类事件——ActionChains。

ActionChains可以对需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等进行操作。ActionChains方法列表:

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) ——移动到距某个元素(左上角坐标)多少距离的位置

perform() ——执行链中的所有动作

release(on_element=None) ——在某个元素位置松开鼠标左键

send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

分别使用几个小 demo能演示一下鼠标双击,鼠标移动,鼠标右键操作。

鼠标移动demo页面截图:

selenium自动化之鼠标操作第1张demo

1、使用鼠标移动到Write on hover按钮上方, python脚本如下:

selenium自动化之鼠标操作第2张鼠标移动

代码解读一下,先定义浏览器驱动,最大化窗口,打开测试页面网址,定位到要移动到测试按钮上方,定义一个变量存储ActionChains类,使用move_to_element(element)移动到按钮上方。

鼠标双击,右击demo页面截图

selenium自动化之鼠标操作第3张鼠标双击,右击demo页面截图

2、使用鼠标双击Write on hover按钮, python脚本如下:

selenium自动化之鼠标操作第4张

代码解读一下,先定义浏览器驱动,最大化窗口,打开测试页面网址,定位到要移动到测试按钮上方使用ActionChains类,调用double.click(element).perform()点击鼠标右键

3、点击鼠标右键, python脚本如下:

selenium自动化之鼠标操作第5张

代码解读一下,先定义浏览器驱动,最大化窗口,打开测试页面网址,定位到要移动到测试按钮上方,使用ActionChains类,调用context_click(element).perform()点击鼠标右键。

免责声明:文章转载自《selenium自动化之鼠标操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浅析前端常见文件下载的9种场景:Blob基础知识/组成/Blob URL、a标签下载、showSaveFilePicker API下载(兼容性差)、FileSaver.js库下载、Zip下载(JSZip库)、附件形式下载(设置Content-Disposition)、base64格式下载(需转为blob)、分块传输下载、HTTP范围请求下载、大文件分块并行下载Java 读取ANSI文件中文乱码问题解决方式[转]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

selenium关于断言的使用

基本介绍: Selenium工具专门为WEB应用程序编写的一个验收测试工具。 Selenium的核心:browser bot,是用JAVASCRIPT编写的。 Selenium工具有4种:Selenium IDE, Selenium Control, Selenium Core 这儿我们主要总结了Selenium-IDE工具 Selenium-IDE只限于...

Selenium模拟操作中按钮点击(click) 失效解决方法

在使用selenium模拟操作时经常遇到一些使用原始方法解决不了的问题。 click失效问题 曾经多次遇到元素click()失败的情况,经典的例子就是某网站的登录框。 一般遇到click失败时我的一般处理方法是改用send_keys(Keys.ENTER),直接用发回车键,简单粗暴。 但是某网站的登录框,直接定位按钮元素click无效,发送回车键也无效,分...

wsdl详解

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://impl.service.utcs.ctc" xmlns:wsaw="http://www.w3.org/20...

使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)

上一篇使用Java正则表达式来判断和获取图片的链接以及跳转的网址,这篇使用selenium的自带的API(getAttribute)来获取网页中指定的内容 实现内容:获取下面所有图片的链接地址以及跳转地址,使用get请求判断是否有死链 页面内容如图: 页面的源码,需要获取页面的href后的地址,以及src后的地址,: 代码实现可以看出图片都在一个div...

vue+element项目里实时监听某个div宽度的变化,然后执行相应的事件

背景:vue项目中用到echarts图表,页面上有侧边栏,侧边栏收缩图表不能自适应,想通过监听内容部分的宽度让图表resize,试过window带的resize,只能监听浏览器窗口大小变化,为了监听某元素区域的变化而使echarts的尺寸重置。可以看到收起时会图表不会发生变化(上面的折线图是已经调好的)解决方式----- 一、自定义指令的方式1、局部自定义...

开源自动化测试框架安装部署

本人前几天刚接触自动化测试,由于编写测试案例需要搭建环境,以下就是本人搭建环境的步骤。如有错误,请指正。 测试框架 Selenium + Robot Framework + Jenkins Selenium 需要 Selenium Server,这可以是 Robot Framework 所在的同一台机器,也可以是另一台可通过 TCP/IP 连接的服务器。在...