Selenium 模拟键盘操作
一、导入键盘事件
1.导入语句
想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等。
from selenium.webdriver.common.keys import Keys
2.键盘事件
下面是一些常用的键盘事件:
Keys.BACK_SPACE # 回退键(BackSpace)
Keys.TAB # 制表键(Tab)
Keys.ENTER # 回车键(Enter)
Keys.SHIFT # 大小写转换键(Shift)
Keys.CONTROL # Control键(Ctrl)
Keys.ALT # ALT键(Alt)
Keys.ESCAPE # 返回键(Esc)
Keys.SPACE # 空格键(Space)
Keys.PAGE_UP # 翻页键上(Page Up)
Keys.PAGE_DOWN # 翻页键下(Page Down)
Keys.END # 行尾键(End)
Keys.HOME # 行首键(Home)
Keys.LEFT # 方向键左(Left)
Keys.UP # 方向键上(Up)
Keys.RIGHT # 方向键右(Right)
Keys.DOWN # 方向键下(Down)
Keys.INSERT # 插入键(Insert)
DELETE # 删除键(Delete)
NUMPAD0 ~ NUMPAD9 # 数字键1-9
Keys.F5 # 刷新键
F1 ~ F12 # F1 - F12键
(Keys.CONTROL, 'a') # 组合键Control+a,全选
(Keys.CONTROL, 'c') # 组合键Control+c,复制
(Keys.CONTROL, 'x') # 组合键Control+x,剪切
(Keys.CONTROL, 'v') # 组合键Control+v,粘贴
举例说明
# 在百度搜索框输入 python ,复制粘贴搜狗输入框进行搜索
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.maximize_window()
driver.find_element_by_css_selector('#kw').send_keys('python')
sleep(2)
driver.find_element_by_css_selector('#kw').send_keys(Keys.CONTROL, 'a') # 全选
driver.find_element_by_css_selector('#kw').send_keys(Keys.CONTROL, 'c') # 复制
driver.find_element_by_css_selector('#kw').send_keys(Keys.CONTROL, 'x') # 剪切
sleep(2)
driver.get('http://www.sogou.com')
driver.find_element_by_css_selector('.sec-input').send_keys(Keys.CONTROL, 'v') # 粘贴
sleep(2)
driver.find_element_by_css_selector('#stb').click()
sleep(2)
driver.quit()