web自动化测试键盘操作事件
·
–
Keyboard,键盘操作事件
键盘操作是通过使用低级界面执行的,该界面允许我们向网络浏览器提供虚拟化的设备输入…
–
键盘操作必须要引的包
from selenium.webdriver.common.keys import Keys
sendKeys
遇到修饰符键,可以在sendKey中输入,模拟键盘按键的操作
更多键盘操作请点击WebDriver支持的全部键盘点击键列表。
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(2)
# 输入回车键
driver.find_element_by_xpath('//input[@id="kw"]').send_keys('百度百科' + Keys.ENTER)
# 输入退格键
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.BACKSPACE)
# 输入空格键
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.SPACE)
# 输入F5刷新
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.F5)
# 输入回退键
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.ESCAPE)
# 输入制表键
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.TAB)
F关联的所有键全部都下拉展示出来:

很多键盘上的按键方法,对应真实键盘的意思就行:

keyDown
模拟按下修改键(CONTROL,SHIFT,ALT)的动作
CONTROL代表的就是键盘上的Ctrl键
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(2)
driver.find_element_by_xpath('//input[@id="kw"]').send_keys('百度百科' + Keys.ENTER)
# 全选操作
ActionChains(driver).key_down(Keys.CONTROL).send_keys('a').perform()
当然也可以在send_keys中输入后直接进行操作:
# 全选操作
driver.find_element_by_xpath('//input[@id="kw"]').send_keys('百度百科' + Keys.CONTROL, 'a')
keyUp
模拟修改键(CONTROL,SHIFT,ALT)释放操作
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(2)
input_data = driver.find_element_by_xpath('//input[@id="kw"]')
action = ActionChains(driver)
action.key_down(Keys.SHIFT).send_keys_to_element(input_data, 'qwer').key_up(Keys.SHIFT).send_keys('qwer').perform()
运行后的展示结果页面:

首先使用key_down方法按住shift键盘并输入大写的QWER,其次使用key_up方法取消按住shift键并输入小写的qwer
action.key_down(Keys.SHIFT).send_keys_to_element(input_data, 'qwer').key_up(Keys.SHIFT).send_keys('qwer').perform()
clear
针对输入框清除已输入的内容及输入框中默认存在的内容
仅适用于可编辑和可交互的元素,否则Selenium返回错误(无效的元素状态(或)不可交互的元素)
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(2)
input_data = driver.find_element_by_xpath('//input[@id="kw"]')
input_data.send_keys('selenium')
# 清空输入框的数据
input_data.clear()
以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,评论区留言会及时修正发布,谢谢!
未完,待续…
一直都在努力,希望您也是!

更多推荐



所有评论(0)