Python selenium键盘鼠标事件实现过程详解


Posted in Python onJuly 28, 2020

引言

----在实际的web测试工作中,需要配合键盘按键来操作,webdriver的 keys()类提供键盘上所有按键的操作,还可以模拟组合键Ctrl+a,Ctrl+v等。

举例:

#cording=gbk
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By #导入by方法
from selenium.webdriver.common.action_chains import ActionChains  ##对鼠标事件操作
from selenium.webdriver.common.keys import Keys # 对键盘事件操作

current_path=os.path.dirname(__file__)
firefox_path=current_path+"/../webdriver/geckodriver.exe"
driver=webdriver.Firefox(executable_path=firefox_path)
driver.get("http://www.baidu.com")

# 先输入百度
driver.find_element_by_id('kw').send_keys('百度')
time.sleep(3)
# 1.删除度
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
time.sleep(3)

#2.清空输入框,重新输入值
driver.find_element_by_id('kw').clear()
driver.find_element_by_id('kw').send_keys('安琪儿')
time.sleep(5)

# 3.ctrl+a 全选输入框里的内容
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
time.sleep(3)

# 4.ctrl+x 剪切输入框里的内容
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'x')
time.sleep(3)

# 5. ctrl+v 粘贴剪切的内容
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')
time.sleep(3)

# 6. 回车
driver.find_element_by_id('su').send_keys(Keys.ENTER)
time.sleep(3)

在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。

ActionChains类中鼠标操作常用方法:

  • context_click() :右击
  • double_click() :双击
  • drag_and_drop() :拖动
  • move_to_element() :鼠标移动到一个元素上

举例:

#cording=gbk
import os
from selenium import webdriver
from selenium.webdriver.common.by import By #导入by方法
from selenium.webdriver.common.action_chains import ActionChains  ##对鼠标事件操作

current_path=os.path.dirname(__file__)
firefox_path=current_path+"/../webdriver/geckodriver.exe"
driver=webdriver.Firefox(executable_path=firefox_path)
driver.get("http://127.0.0.1/zentao/user-login-L3plbnRhby9teS5odG1s.html")

mouse=ActionChains(driver) #创建一个鼠标对象
# element1=driver.find_element(By.XPATH,"//img[@src='/zentao/theme/default/images/main/zt-logo.png']") #Xpath利用属性定位
element1=driver.find_element(By.XPATH,"//img[contains(@src,'images/main/zt-logo.png')]") #xpath使用包含属性方法定位
mouse.context_click(element1).perform() #执行鼠标右击,.perform() 表示执行

element2=driver.find_element(By.XPATH,"//button[@type='button' and @class='btn' ]") #多属性定位
mouse.move_to_element(element2).perform() #移动到这个元素上

#对元素进行截图
driver.find_element(By.XPATH,"//button[@id='submit'][@type='submit']").screensh

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中json格式数据输出的简单实现方法
Oct 31 Python
Python基于Socket实现的简单聊天程序示例
Aug 05 Python
python对excel文档去重及求和的实例
Apr 18 Python
python并发编程多进程之守护进程原理解析
Aug 20 Python
Python中turtle库的使用实例
Sep 09 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 Python
Python实现点云投影到平面显示
Jan 18 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
python实现QQ邮箱发送邮件
Mar 06 Python
opencv 阈值分割的具体使用
Jul 08 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 Python
用python写爬虫简单吗
Jul 28 #Python
公认8个效率最高的爬虫框架
Jul 28 #Python
python如何爬取网页中的文字
Jul 28 #Python
Python同时处理多个异常的方法
Jul 28 #Python
Python远程方法调用实现过程解析
Jul 28 #Python
Python 实现一个计时器
Jul 28 #Python
python爬虫要用到的库总结
Jul 28 #Python
You might like
数据库查询记录php 多行多列显示
2009/08/15 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
文本链接逐个出现的js脚本
2007/12/12 Javascript
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
jquery中this的使用说明
2010/09/06 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
解析vue中的$mount
2017/12/21 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
python中int与str互转方法
2018/07/02 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
中英双版中文教师求职信
2013/10/27 职场文书
小学语文教学反思
2014/02/10 职场文书
4s店活动策划方案
2014/08/25 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
创先争优宣传标语
2014/10/08 职场文书
影视后期实训报告
2014/11/05 职场文书
电话营销开场白
2015/05/29 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书