平常我们会用到很多快捷键,selenium提供了比较完整的键盘操作。首先使用快捷键需要导入以下这个包
from selenium.webdriver.common.keys import Keys
然后在通过Keys去调用一些方法,如:
全选 send_keys(Keys.CONTROL,'a')
复制 send_keys(Keys.CONTROL,'c')
粘贴 send_keys(Keys.CONTROL,'v')
实力代码如下:
from selenium.webdriver.common.keys import Keys from selenium import webdriver import time driver = webdriver.Chrome() driver.maximize_window() driver.get('http://www.baidu.com') driver.find_element_by_css_selector('#login-email-address').send_keys('admin') time.sleep(1) # todo 全选 driver.find_element_by_css_selector('#login-email-address').send_keys(Keys.CONTROL,'a') time.sleep(2) # TODO 复制 driver.find_element_by_css_selector('#login-email-address').send_keys(Keys.CONTROL,'c') time.sleep(2) # todo 粘贴 driver.find_element_by_css_selector('#login-password').send_keys(Keys.CONTROL,'v')
#通过回车键来代替点击登录按钮 driver.find_element_by_id("kw").send_keys(Keys.ENTER) time.sleep(1) driver.quit()
send_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
根据经验来看键盘的操作在自动化实际运行中会不稳定,如果不是必须要用建议不用。