键盘最常见的应用场景是输入文字,除此之外,键盘上还有一些功能性按键,如“Enter”键、“Tab”键,当然还有一些组合键,如“Ctrl+A”键代表全选、“Ctrl+C”键代表复制、“Ctrl+V”键代表粘贴(如果是macOS系统的计算机的话,则“Ctrl”键用“CMD”键代替)
1、文字输入
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
driver.find_element_by_id('kw').send_keys('storm') # 输入文字
sleep(3)
driver.quit()
2、组合键
模拟组合键的方法相对复杂,但总体来说分为两步。
●导入Keys包。
●然后配合send_keys方法实现。
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
'''
打开百度首页,在搜索框中输入文字"storm"
通过组合键"Ctrl+A"全选
通过组合键"Ctrl+C"复制
通过clear方法清除搜索框中的内容
通过组合键"Ctrl+V"粘贴刚才复制的内容
'''
driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
# 通过send_keys方法模拟键盘输入文字
driver.find_element_by_id('kw').send_keys('storm')
sleep(3)
# 通过Keys.×××模拟功能按键的操作
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c')
# 通过clear方法清除搜索框中的内容
driver.find_element_by_id('kw').clear()
sleep(3)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')
sleep(3)
driver.quit()
3、按住“Ctrl”键不松开,单击某控件
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/clickCombo.htm")
ele = driver.find_element_by_xpath('/html/body/div/div')
# 按住"Ctrl"键
ActionChains(driver).key_down(Keys.CONTROL).perform()
# 单击
ele.click()
sleep(3)
driver.quit()