Python+Selenium学习--鼠标事件
场景
前景讲解了鼠标的click()事件,而我们在实际的web产品测试中,有关鼠标的操作,不仅仅只有单击,有时候还包括右击,双击,拖动等操作,这些操作包含在ActionChains类中。
ActionChains类鼠标操作的常用方法:
- context_click() 右击
- double_click() 双击
- drag_and_drop() 拖动
- move_to_element() 鼠标悬停在一个元素上
- click_and_hold() 点击鼠标左键,不松开
鼠标事件
1.鼠标右击事件
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 鼠标事件.py
@time: 2018-09-21 14:14
@desc:
'''
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
import time driver = webdriver.Firefox() driver.get('https://www.baidu.com/') #定位需要右击元素
right = driver.find_element_by_id("kw")
#对定位对象进行右击操作
ActionChains(driver).context_click(right).perform() time.sleep(2)
driver.quit()
ActionChains用于生成用户的行为;所有的行为都存储在actionchains对象,通过perform()执行存储的行为
perform()执行所有ActionChains存储的行为,perform()同样也是ActionChains类提供的方法,通常他们配合使用
2.鼠标双击事件
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 鼠标事件.py
@time: 2018-09-21 14:14
@desc:
'''
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
import time driver = webdriver.Firefox() driver.get('https://www.baidu.com/') #定位需要双击元素
double = driver.find_element_by_id("kw")
#对定位对象进行双击击操作
ActionChains(driver).double_click(double).perform() time.sleep(2)
driver.quit()
对于操作系统的操作来说,双击使用比较频繁,带对于web而言,比较少
3.鼠标拖放操作
drag_and_drop(source,target)
在源元素上按下鼠标,然后移动到目标元素释放
source:鼠标按下的源元素
target:鼠标释放的目的元素
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 鼠标事件.py
@time: 2018-09-21 14:14
@desc:
'''
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
import time driver = webdriver.Firefox() driver.get('https://www.baidu.com/') #定位源元素
source = driver.find_element_by_id("xx")
#定位目的元素
target = driver.find_element_by_id("xx")
#执行移动操作
ActionChains(driver).drag_and_drop(source,target).perform() time.sleep(2)
driver.quit()
4.移动鼠标到元素上
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 鼠标事件.py
@time: 2018-09-21 14:14
@desc:
'''
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
import time driver = webdriver.Firefox() driver.get('https://www.baidu.com/') #定位元素
above = driver.find_element_by_id("xx")
#执行移动操作
ActionChains(driver).move_to_element(above).perform() time.sleep(2)
driver.quit()
5.按下鼠标左键不松开
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 鼠标事件.py
@time: 2018-09-21 14:14
@desc:
'''
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
import time driver = webdriver.Firefox() driver.get('https://www.baidu.com/') #定位元素
aa=driver.find_element_by_id("su")
#执行点击元素不松开
ActionChains(driver).click_and_hold(aa).perform() time.sleep(2)
driver.quit()
Python+Selenium学习--鼠标事件的更多相关文章
- Python+Selenium学习--键盘事件
场景 我们在实际的测试工作中,有时候需要使用tab键将焦点移动到下一个元素,用于验证元素的排序是否正确.webdriver的Keys()类提供键盘上所有的操作,甚至可以模拟一些组合键的操作,如Ctrl ...
- 【python+selenium学习】Python常见错误之:IndentationError: unexpected indent
初入python+selenium学习之路,总会遇到这样那样的问题.IndentationError: unexpected indent,这个坑我已经踏进数次了,索性记录下来.都知道Python对代 ...
- Python自动化学习--鼠标和键盘事件
from selenium import webdriver from selenium.webdriver import ActionChains import time driver = webd ...
- selenium-webdriver(python) (十五) -- 鼠标事件
本节重点: ActionChains 类 context_click() 右击 double_click() 双击 drag_and_drop() 拖动 测试的产品中有一个操作是右键点击文件列 ...
- selenium的鼠标事件操作
自动化测试过程中,经常会用到鼠标事件,在selenium的action_chains模块的ActionChains定义了鼠标操作的一些事件,要使用ActionChains类中的方法,首先需要对Acti ...
- Python+Selenium学习--自动化测试模型
前言 一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库.测试数据源.测试对象识别标准,以及种可重用的模块.自动化测试框架在发展的过程中经历了几个阶段,模块驱动测试.数据驱动测试.对 ...
- jQuery学习-鼠标事件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Python+Selenium学习笔记15 - 读取txt和csv文件
读取txt的内容并用百度查找搜索 1 # coding = utf-8 2 3 from selenium import webdriver 4 import time 5 6 # 打开浏览器 7 d ...
- Python+Selenium学习--下拉框处理
场景 下拉框也是web 页面上非常常见的功能,webdriver 对于一般的下拉框处理起来也相当简单,要想定位下拉框中的内容,首先需要定位到下拉框:这样的二次定位 下拉框一般有以下两种方式: 鼠标移上 ...
随机推荐
- nginx 根据域名和地址跳转
设置nginx变量 set $domail_url "$host$request_uri"; 判断并重定向if ($domail_url = '123.com/about/'){ ...
- jsfl 选择图层 选择帧 转化成mc
//打开fla var _openDOC = fl.openDocument("file:///E|TE/爱.fla"); //获取图层4的总帧 var _Length=fl.ge ...
- ABAP-折叠窗口
1.测试 2.代码 *&---------------------------------------------------------------------* *& Report ...
- ubuntu 安装 oracle sql developer
安装java-jdk 这一部分教程很多,可按照网上教程进行安装 安装sqldeveloper 下载 sqldeveloper Linux RPM http://www.oracle.com/techn ...
- es6初级之解构----之二 及 键值反转实现
1.解构: 不定参数,扩展表达式 let arr = [100, 201, 303, 911]; let [one, ...others] = arr; console.log(others.leng ...
- js 购物车的实现
购物车原理:创建一个构造函数,把涉及到的项目写成方法,然后把这些方法放到构造函数的原型对象上,通过按钮绑定,调用原型对象上的方法,实现对涉及项目的改变 html代码: <!DOCTYPE htm ...
- Centos上安装配置docker(命令集)
导出镜像存储: docker save house/redis:3.2 > redis_img.tar (也可以使用镜像ID) 导入镜像存储: docker load < redis_ ...
- 福州大学软件工程W班-助教总结
背景 福州大学软件工程W班,总人数46人,讲师汪老师. 前期期望 希望自己能够在课程当中起到引导作用,发挥助教最大的用处. 实际执行情况 第一个问题是自动化测试工具,该工具主要是用来测试程序WordC ...
- 19.struts-配置详解.md
目录 1.package name extends abstract namespace 2.action name class method 3.result name type 标签体 <p ...
- 面图层拓扑检查和错误自动修改—ArcGIS案例学习笔记
面图层拓扑检查和错误自动修改-ArcGIS案例学习笔记 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 数据源: gis_ex10\ex01\parcel.shp, ...