Selenium 2自动化测试实战10(鼠标事件)
一、鼠标事件
1. webdriver中,关于鼠标操作的方法封装在ActionChains类中
ActionChains类提供了鼠标操作的常用方法:
perform:执行所有ActionChains中存储的行为
context_click():右击
double_click():双击
drag_and_drop():拖动
move_to_element():鼠标悬停
2. 鼠标右击操作
#yunpan.py
#coding:utf-8
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver driver=webdriver.Chrome()
driver.get("https://yunpan.360.cn")
#.......
#定位到要右击的元素
right_click=driver.find_element_by_id("XXX")
#对定位到的元素执行鼠标右键操作
ActionChains(driver).context_click(right_click).perform()
(1)from selenium.webdriver.common.action_chains import ActionChains
导入提供鼠标操作的ActionChains类。
(2)ActionChains(driver)
调用ActionChains()类,将浏览器驱动driver作为参数传入
(3)context_cilick(right_click)
context_click()方法用于模拟鼠标右键操作,在调用时需要指定元素定位
(4)perform()
执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作
3. 鼠标悬停
move_to_element()方法可以模拟鼠标悬停的动作,器用法与context_click()相同
#mouse.py
#定位到要悬停的元素
above=driver.find_element_by_id('xxx') #对定位到的元素执行悬停操作
ActionChains(driver).move_to_element(above).perform()
#.....
4. 鼠标双击操作
double_click()方法用于模拟鼠标双击操作
#mouse.py
#定位到要悬停的元素
double_click=driver.find_element_by_id('xxx') #对定位到的元素执行双击操作
ActionChains(driver).double_click(double_click).perform()
#.....
5. 鼠标拖放操作
drag_and_drop(source,target)在源元素上按住鼠标左键,然后移动到目标元素上释放
source:鼠标拖动的源元素
target:鼠标释放的目标元素
#mouse.py
#........ #定位元素的原位置
element=driver.find_element_by_id("XX")
#定位元素要移动到的目标位置
target=driver.find_element_by_id("XX") #执行元素的拖放操作
ActionChains(driver).drag_and_drop(element,target).perform()
#.......
Selenium 2自动化测试实战10(鼠标事件)的更多相关文章
- Selenium 2自动化测试实战
Selenium 2自动化测试实战 百度网盘 链接:https://pan.baidu.com/s/1aiP3d8Y1QlcHD3fAlEj4sg 提取码:jp8e 复制这段内容后打开百度网盘手机Ap ...
- Selenium 2自动化测试实战3(函数、类和方法)
一.函数.类和方法1.函数在python中通过def关键字来定义函数 创建一个add()函数,此函数接收两个参数a,b,通过print()打印a+b的结果.调用add()函数,并且上传两个参数3,5给 ...
- 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法
虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...
- Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记
背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...
- selenium python (三)鼠标事件
# -*- coding: utf-8 -*-#鼠标事件 #ActionChains类中包括: # context_click() 右击: ...
- Selenium3 + Python3自动化测试系列四——鼠标事件和键盘事件
一.鼠标事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供. ActionChains 类提供了鼠标操作的常用方法. ActionChains 类的成 ...
- Selenium 2自动化测试实战11(键盘事件)
一.键盘事件 1.Keys()类提供了键盘上几乎所有按键的方法,如下实例: #coding:utf-8 from selenium.webdriver.common.keys import Keys ...
- Selenium 2自动化测试实战18(上传文件)
一.上传文件 上传文件是比较常见的web功能之一,但WebDriver没有提供专门用于上传的方法. 一般web页面的上传功能的操作需要单击“上传”按钮后打开本地的Window窗口,从窗口选择本地文件进 ...
- Selenium+Python自动化测试实战(2)元素定位
1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事, ...
随机推荐
- vi 必须要学会的技能
vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...
- SEO黑页以及门页框架和JS跳转实现方法
在去年大家还在针对第三方博客狂轰乱炸,比如:webs.com.blogspot.com.weebly.com主要是因为本身博客平台的权重,再就是低廉的成本,主需要注册,没有域名和服务器的投入.排名也非 ...
- Zen Cart 常用SQL命令
网店日常维护过程中,难免要跟各种批量操作打交道, 虽然大多数操作可以通过批量上传 (easy populate) 和 快速更新 模块来完成, 但在应用便捷性和一些功能性的调整上, 总有一定的局限性; ...
- Java I/O(一)流和文件类File的概述、FileInputStream和FileInputStream
一.流概述 & InputStream.OutputStream 流包括输入流和输出流,即I/O(Input和Output),具体结构如下: I/O类都被放在java.io包中,所有的输入流类 ...
- 【洛谷P1280】尼克的任务
题目大意:一个人在时间 [1,N] 内工作,现有 M 个任务,每个任务需要在一段固定的时间区间内完成,任务之间的时间可能有重叠.若当前时间有任务要开始,且人处于空闲状态,则一定要这个人来做,否则这个人 ...
- MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法
MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法 2.4K 解决方法: 第一步cd ...
- spring-data-mongodb两种实现方式对比
spring-data-mongodb两种实现方式对比 参考链接:https://blog.csdn.net/feinifi/article/details/83752862
- CSS层定位——固定定位,相对定位,绝对定位
主要写关于层定位的相关知识 ㈠定位概述 ⑴像图像软件中的图层一样可以对每一个layer能够精确定位操作 ⑵层定位的position属性决定了当前的一个网页元素,可以叠加到另一个网页元素上面,那么我们把 ...
- 在window环境下安装numpy模块(包)
刚开始接触python,安装numpy着实费了不少劲.总结一下,新人少走弯路. numpy作用: 是一个 Python 包. 它代表 “Numeric Python”. 它是一个由多维数组对象和用于处 ...
- python环境下安装opencv库的方法
注意:安装opencv之前需要先安装numpy,matplotlib等 一.安装方法 方法一.在线安装 1.先安装opencv-python pip install opencv-python --u ...