当前位置: 首页 > news >正文

【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()

键盘输入示例大致如上,实际上以上代码没有实际的意义,对于实际的操作还是要结合项目中的需求来适当运用。

以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!

http://www.lryc.cn/news/37679.html

相关文章:

  • 自定义javax.validation校验枚举类
  • [Java·算法·中等]LeetCode39. 组合总和
  • 【Linux】vi和vim编辑器
  • BIO,NIO,AIO
  • 代码随想录刷题-数组-有序数组的平方
  • 【玩转c++】stack和queue的介绍和模拟实现
  • Linux order(文件、磁盘、网络、系统管理、备份压缩)
  • 最详细的CentOS7安装Mysql数据库服务
  • 【IoT】项目管理:如何做好端到端的项目管理?
  • 渲染十万条数据就把你难住了?不存在的!
  • 编程学习的心路历程和困惑回顾
  • 请介绍类加载过程,什么是双亲委派模型?
  • Navisworks编辑材质和Revit快速切换材质问题
  • Object对象键值的输出循序到底如何排列的?
  • 气泡式水位计的安装方法详解
  • 求“二维随机变量的期望E(X)与方差D(X)”例题(一)
  • MySQL 搞定行转列,列转行
  • 正点原子裸机开发之C语言点灯程序
  • cv::阈值分割OTUS原理+代码
  • Postgresql-12.5 visual studio-2022 windows 添加pg工程并调试
  • 长沙学院2023 第一次蓝桥训练题解
  • 云端Docker搭建ABY库以及本地CLion使用
  • ES6-箭头函数、解构赋值、对象简写
  • 【CSS】CSS 背景设置 ② ( 背景位置 | 背景位置-方位值设置 )
  • HTML 扫盲
  • 项目中用到的责任链模式
  • C++复习笔记--STL的string容器和vector容器
  • 第一章 软件项目管理概述
  • 【Linux系统编程】06:共享内存
  • 【专项】112. 路径总和