【Python自动化测试】:模拟鼠标和键盘操作

阅读: 评论:0

【Python自动化测试】:模拟鼠标和键盘操作

【Python自动化测试】:模拟鼠标和键盘操作

一、模拟键盘操作

在selenium中,把键盘的一系列按键封装在Keys类中,因此,我们在模拟键盘操作的时候,需要先导入Keys包,然后配合send_keys()方法使用

# 鼠标事件,封装在Keys类中
from selenium.webdrivermon.keys import Keys
# 执行语法
要执行模拟键盘操作的元素.send_keys(Keys.封装的按键)

1、模拟键盘删除键

  • 语法实现:send_keys(Keys.BACK_SPACE)

2、模拟键盘空格键

  • 语法实现:send_keys(Keys.SPACE)

3、模拟键盘全选操作——Ctrl+A

  • 语法实现:send_keys(Keys.CONTROL, 'a')

4、模拟键盘复制操作——Ctrl+C

  • 语法实现:send_keys(Keys.CONTROL, 'c')

5、模拟键盘剪切操作——Ctrl+X

  • 语法实现:send_keys(Keys.CONTROL, 'x')

6、模拟键盘粘贴操作——Ctrl+V

  • 语法实现:send_keys(Keys.CONTROL, 'v')

7、模拟键盘回车键

  • 语法实现:send_keys(Keys.ENTER)

8、模拟键盘tab健

  • 语法实现:send_keys(Keys.TAB)

9、模拟键盘Esc健

  • 语法实现:send_keys(Keys.ESCAPE)

10、模拟键盘F1…F12

  • 语法实现:send_keys(Keys.F12)

【示例】

# 导包
from selenium import webdriver
from selenium.webdrivermon.by import By
from time import sleep
# 鼠标事件,封装在Keys类中
from selenium.webdrivermon.keys import Keys# 定义谷歌对象
driver = webdriver.Chrome()# 打开百度首页
('/')
# 定位到百度搜索输入框
element = driver.find_element(By.ID, 'kw')
# 在输入框输入”Python自动化测试“
element.send_keys("Python自动化测试")
# 页面停留2秒钟
sleep(2)
# 模拟键盘的删除键,删除输入框中的最后一个字send_keys(Keys.BACK_SPACE)
element.send_keys(Keys.BACK_SPACE)
# 页面停留2秒钟
sleep(2)
# 模拟键盘的空格键,输入框最后加一个空格
element.send_keys(Keys.SPACE)
# 页面停留2秒钟
sleep(2)
# 模拟键盘的Ctrl+A全选操作
element.send_keys(Keys.CONTROL, 'a')
# 页面停留2秒钟
sleep(2)
# # 模拟键盘的Ctrl+C复制操作
# element.send_keys(Keys.CONTROL, 'c')
# 模拟键盘的Ctrl+X剪切操作
element.send_keys(Keys.CONTROL, 'x')
# 页面停留2秒钟
sleep(2)
# 模拟键盘的Ctrl+V粘贴操作
element.send_keys(Keys.CONTROL, 'v')
# 模拟键盘的回车操作
element.send_keys(Keys.ENTER)
# # 模拟键盘tab键
# element.send_keys(Keys.TAB)
sleep(5)
# 退出浏览器
driver.quit()

模拟键盘删除键:每次只能删除一个,如果要删除多个字符,需要在前面乘上几

from selenium import webdriver
from selenium.webdrivermon.by import By
from time import sleep
# 鼠标事件,封装在Keys类中
from selenium.webdrivermon.keys import Keysdriver = webdriver.Chrome()
("/")
driver.maximize_window()
driver.implicitly_wait(5)# 定位到搜索框
search_box = driver.find_element(By.ID, 'kw')
# 在输入框输入内容
search_box.send_keys("我以渺小爱你1234")
sleep(3)
# 删除多余的数字,每次只能删除一个,想要删除几个,需要在前面乘上几
search_box.send_keys(4*Keys.BACK_SPACE)
sleep(3)# 关闭浏览器
driver.quit()

二、模拟鼠标操作

在webdriver中,将这些关于鼠标操作的方法封装在ActionChains类中。ActionChains类提供了鼠标操作的常用方法:
导入ActionChains

# 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类中
from selenium.webdrivermon.action_chains import ActionChains

ActionChains类提供了鼠标操作的常用方法:

  • perform():执行所有ActionChains类中存储的行为
  • context_click():右击
  • double_click():
  • drag_and_drop():拖动
  • move_to_element():鼠标悬停

下面演示“perform()”和“鼠标悬停”方法:

from selenium import webdriver
from selenium.webdrivermon.by import By
# 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类中
from selenium.webdrivermon.action_chains import ActionChains
from time import sleep# ActionChains 类提供了鼠标操作的常用方法
# 打开浏览器
driver = webdriver.Chrome()
# 打开百度首页
("/")
# 最大化窗口
driver.maximize_window()
# 设置隐式等待
driver.implicitly_wait(5)# 定位到“设置”元素
st_button = driver.find_element(By.ID, 's-usersetting-top')
# 在“设置”元素进行鼠标悬停
# perform()执行前面的操作
# ActionChains(打开的浏览器对象,driver).move_to_element(悬停的元素).perform()
ActionChains(driver).move_to_element(st_button).perform()
# 页面停留5秒钟
sleep(5)# 关闭浏览器
driver.quit()

本文发布于:2024-02-01 18:00:19,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170678207138466.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:鼠标   键盘操作   测试   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23