1、键盘时间介绍
我们在实际的测试工作中,有时候我们在测试时需要使用tab
键将焦点转移到下一个元素,用于验证元素的排序是否正确。
webdriver
的Keys()
类提供键盘上所有按键的操作,甚至可以模拟一些组合建的操作,如Ctrl+A
,Ctrl+C
,Ctrl+V
等。
在Selenium中使用send_keys()
来执行模拟键盘上所有按键的操作。
2、使用Keys类来处理键盘操作
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 |
3、练习
页面代码片段
<!DOCTYPE html>
<html lang="zh-cn">
<body>
<div id="zc">
<legend>注册用户A</legend>
<p id="p1">
<label for="userA">账号A</label>
<input type="textA" name="userA" id="userA" class="c_uA" placeholder="账号A" required="" value="">
</p>
<p>
<label for="password">密码A</label>
<input type="password" name="passwordA" id="passwordA" placeholder="密码A" value="">
</p>
</div>
</body>
</html>
脚本代码:
"""
1.学习目标:
掌握selenium中键盘事件的操作
2.语法
2.1 导入Keys类
from selenium.webdriver.common.keys import Keys
2.2 使用
元素.send_keys(键名称)
1.单个键使用
(Keys.键名称)
注意:键名称全大写字母
2.组合键
(Keys.键名称,"c")
3.需求
在页面中,完成文字内容的复制操作。
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
import os
from selenium.webdriver.common.keys import Keys
# 2.打开浏览器
driver = webdriver.Chrome()
# 3.打开页面
url = "file:///" + os.path.abspath("./1.html")
driver.get(url)
# 4.键盘事件
# 在账号A中输入"Selenium",将输入的内容复制到密码A输入框中
# 4.1 定位账号A和电话A
textA = driver.find_element_by_id("userA") # 账号A
passwordA = driver.find_element_by_id("passwordA") # 密码A
# 4.2 在账号A中输入"Selenium"
textA.clear()
textA.send_keys("Seleniumm")
sleep(2)
# 4.3 使用退格键删除m字母
textA.send_keys(Keys.BACKSPACE)
sleep(2)
# 4.4 将账号A中的文字复制
# 全选账号A中的文字
textA.send_keys(Keys.CONTROL, "a")
# 复制账号A中的文字
textA.send_keys(Keys.CONTROL, "c")
# 4.5 将复制的内容粘贴到密码A输入框中
passwordA.send_keys(Keys.CONTROL, "v")
# 5.关闭浏览器
sleep(2)
driver.quit()
网友评论