Keys类提供了键盘上几乎所有的按键方法,也可以根据需要进行组合按键,例如全选、复制、剪切、粘贴等操作。
1)在使用各种按键和组合按键前,需要先导入Keys类:
selenium.webdriver.common.keys import Keys
2)常用的按键和组合按键用法:
模拟按键方法 | 模拟按键 |
---|---|
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 |
举例:实现全选,剪切,粘贴,删除等操作
- 启动浏览器
- 打开百度首页,https://www.baidu.com
- 定位输入框,输入框xpath表达式://*[@id=‘kw’],并输入需要搜索的内容
- CONTROL+'a’选中输入框内所有内容
- CONTROL+'x’剪切输入框内所有内容
- CONTROL+'v’粘贴输入框内所有内容
- 退格键删除输入框内部分内容
- 退出浏览器,结束测试
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
driver=webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")
element=driver.find_element_by_xpath("//*[@id='kw']")
element.send_keys("Selenium automation")
sleep(2)
element.click()
#模拟全选操作CONTROL+'a'
element.send_keys(Keys.CONTROL,'a')
sleep(2)
#模拟剪切操作CONTROL+'x'
element.send_keys(Keys.CONTROL,'x')
sleep(2)
#模拟粘贴操作CONTROL+'v'
element.send_keys(Keys.CONTROL,'v')
sleep(2)
#模拟删除操作CONTROL+BACKSPACE,删除最后一个字母
element.send_keys(Keys.BACKSPACE)
sleep(2)
driver.quit()
模拟全选和删除两步操作,与执行clear()操作最后的效果是一样的,都是清除输入框内的所有内容。