【Selenium自动化测试】鼠标与键盘操作
在 WebDriver 中,与鼠标操作相关的方法都封装在ActionChains 类中,与键盘操作相关的方法都封装在Keys类中。下面介绍下这两个类中的常用方法。
鼠标操作
ActionChains类鼠标操作常用方法:
- context_click():右击
- double_click():双击
- drag_and_drop():拖动
- move_to_element():鼠标悬停
- perform():执行ActionChains类中存储的所有行为
# 鼠标悬停示例(鼠标悬停在百度首页的“设置”)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from time import sleepdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
sleep(3)
# 定位需要悬停的元素
setting = driver.find_element(By.ID,"s-usersetting-top")
# 对元素进行悬停操作
ActionChains(driver).move_to_element(setting).perform()
sleep(3)driver.quit()
# 鼠标双击示例(对输入框的内容进行双击)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from time import sleepdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
sleep(3)search = driver.find_element(By.ID,"kw")
search.send_keys("双击")sleep(1)
# 对元素进行双击操作(双击后可以看到输入的内容会被选中)
ActionChains(driver).double_click(search).perform()
sleep(3)driver.quit()
其余的方法就不再赘述,可以自己尝试使用。
键盘操作
Keys类中常用的键盘操作:
- send_keys(Keys.BACK_SPACE):删除键(BackSpace)
- send_keys(Keys.SPACE):空格键(Space)
- send_keys(Keys.TAB):制表键(Tab)
- send_keys(Keys.ESCAPE):回退键(Esc)
- send_keys(Keys.ENTER):回车键(Enter)
- send_keys(Keys.CONTROL,‘a’):全选(Ctrl+a)
- send_keys(Keys.CONTROL,‘c’):复制(Ctrl+c)
- send_keys(Keys.CONTROL,‘x’):剪切(Ctrl+x)
- send_keys(Keys.CONTROL,‘v’):粘贴(Ctrl+v)
- send_keys(Keys.F1):键盘F1
…… - send_keys(Keys.F12):键盘F12
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from time import sleepdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")driver.find_element(By.ID,"kw").send_keys("ChatGPT")# 删除键(backspace)
driver.find_element(By.ID,"kw").send_keys(Keys.BACK_SPACE)driver.find_element(By.ID,"kw").send_keys(Keys.SPACE)
driver.find_element(By.ID,"kw").send_keys("教程")
sleep(1)
# 组合键 Ctrl+a,全选输入框内容
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'a')
sleep(1)
# 组合键 Ctrl+x,剪切输入框内容
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'x')
sleep(1)
# 组合键 Ctrl+v,粘贴内容到输入框
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'v')
sleep(1)
# 按下回车键
driver.find_element(By.ID,"kw").send_keys(Keys.ENTER)sleep(2)driver.quit()
键盘输入示例大致如上,实际上以上代码没有实际的意义,对于实际的操作还是要结合项目中的需求来适当运用。
以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!
【Selenium自动化测试】鼠标与键盘操作相关推荐
- Selenium之鼠标和键盘操作及扩展
概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作. ...
- selenium模拟鼠标和键盘操作的基本方法
前言 前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是 ...
- 从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作
第一章 Selenium+WebDriver环境搭建 第二章 Selenium定位方式 第三章 元素常用属性 第四章 自动化中的三种等待 第五章 自动化浏览器设置及句柄.窗口切换操作 第六章 鼠标.键 ...
- python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作
这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要 ...
- 通过python里面的pyautogui自动化控制鼠标和键盘操作
PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...
- 控制台模拟鼠标、键盘操作
控制台模拟鼠标.键盘操作 模拟鼠标.键盘操作,能让命令行顿然强大,想想,制作批处理版屏幕键盘等都不在话下(已制作过,效果很不错).虽然这也跟CUI无关.本教程教会你如何让命令行模拟鼠标.键盘的操作. ...
- pyautogui自动化控制鼠标和键盘操作
pyautogui自动化控制鼠标和键盘操作 安装 pyautogui鼠标操作样例 pyautogui键盘操作样例 按键支持 提示信息 alert option password prompt 截屏 整 ...
- python实现自动按键_Python使用pyautogui模块实现自动化鼠标和键盘操作示例
本文实例讲述了Python使用pyautogui模块实现自动化鼠标和键盘操作.分享给大家供大家参考,具体如下: 一.pyautogui模块简要说明 ## 使用 pyautogui 模块相关函数,可以模 ...
- python反恐精英基础版_cs客户端自动化控制鼠标和键盘操作,python+pyautogui
PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...
- PyAutoGUI 自动控制鼠标和键盘操作(三个小案例)
PyAutoGUI 安装 用pip直接安装,可能错误不断,基本都是版本的问题,我是这样安装的,可以尝试一下,能不能成功 pip install -i https://pypi.doubanio.com ...
最新文章
- Clojure语法学习-循环
- python相关软件安装
- HTTP简介,http是一个属于应用层的面向对象的协议
- 江苏省计算机一级题库软件百度云,江苏省计算机一级B题库11
- Character,String相关方法,Int,double互相转换
- node mysql 搭建博客_node.js+Hexo+Git搭建个人博客
- 数值分析方阵的QR分解
- 支持MySql的数据库自动分表工具DBShardTools发布
- Luogu P1967 货车运输 倍增+最大生成树
- UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x80 in position 2
- 复杂的三元转化为if() eles()
- 计算机更新过后cad,CAD2022更新了什么?具有哪些新功能?
- 《硬核父母的五项修炼》读后感
- 【kimol君的无聊小发明】—用python写视频下载器
- 3d建模沟通能力,技术能力,更容易往主管,经理等管理方向发展
- [响应式布局]响应式布局技巧
- 超简单!H5项目套APP外壳
- 算法设计与分析: 4-15 套汇问题
- JAVAEE千锋教育第一天学习总结(2022年7月11日)
- 10分钟让你了解应用宝APP上架流程