键盘最常见的应用场景是输入文字,除此之外,键盘上还有一些功能性按键,如“Enter”键、“Tab”键,当然还有一些组合键,如“Ctrl+A”键代表全选、“Ctrl+C”键代表复制、“Ctrl+V”键代表粘贴(如果是macOS系统的计算机的话,则“Ctrl”键用“CMD”键代替)
- 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方法实现。
- 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()
- 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()