键盘操作
文字输入
文字输入使用send_keys方法。
python
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()
组合键
模拟组合键的方法相对复杂,但总体来说分为两步。
- 导入Keys包。
- 然后配合send_keys方法实现。
python
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()
ActionChains实现
python
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()