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基础教程之udp端口扫描
Feb 10 Python
python使用calendar输出指定年份全年日历的方法
Apr 04 Python
Python简单进程锁代码实例
Apr 27 Python
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
python实现中文输出的两种方法
May 09 Python
人机交互程序 python实现人机对话
Nov 14 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
使用Python操作FTP实现上传和下载的方法
Apr 01 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 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
CI框架中zip类应用示例
2014/06/17 PHP
php PDO异常处理详解
2016/11/20 PHP
jQuery 使用手册(六)
2009/09/23 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
Angular CLI 安装和使用教程
2017/09/13 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
问卷调查计划书
2014/01/10 职场文书
写给老师的表扬信
2014/01/21 职场文书
违纪开除通知书
2015/04/25 职场文书
交流会主持词
2015/07/02 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技
nginx七层负载均衡配置详解
2022/07/15 Servers