前言:前邊文章也介紹過模擬鍵盤輸入的方法
send_keys()
,這個方法是很有侷限性的,只能對輸入框進行操作,這遠遠無法滿足我們多樣的需求,在 WebDriver 中, 關於鍵盤操作的方法封裝在 Keys()類中,其中幾乎包含了鍵盤所有按鍵並且支持組合鍵。
一、常用按鍵
按鍵 | 說明 |
---|---|
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) |
Keys.DELETE |
刪除鍵(Delete) |
Keys.NUMPAD0 ~ NUMPAD9 |
數字鍵1-9 |
Keys.F1 ~ F12 |
F1 - F12鍵 |
(Keys.CONTROL, 'a') |
組合鍵Ctrf+a,全選 |
(Keys.CONTROL, 'c') |
組合鍵Ctrf+c,複製 |
(Keys.CONTROL, 'x') |
組合鍵Ctrf+x,剪切 |
(Keys.CONTROL, 'v') |
組合鍵Ctrf+v,粘貼 |
二、代碼示例
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
# 輸入框輸入內容
driver.find_element_by_id("kw").send_keys("程序猿雜記6")
time.sleep(2) #睡兩秒,看一下效果
# 刪除多輸入的一個 6
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
time.sleep(2) #睡兩秒,看一下效果
# 輸入空格鍵+“CSDN”
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys("CSDN")
time.sleep(2) #睡兩秒,看一下效果
# ctrl+a 全選輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')
time.sleep(2) #睡兩秒,看一下效果
# ctrl+x 剪切輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x')
time.sleep(2) #睡兩秒,看一下效果
# ctrl+v 粘貼內容到輸入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')
time.sleep(2) #睡兩秒,看一下效果
#通過回車鍵來代替單擊操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
time.sleep(2) #睡兩秒,看一下效果
driver.quit() #關閉所有標籤頁
Selenium文集傳送門:
標題 | 簡介 |
---|---|
Python爬蟲 - Selenium(1)安裝和簡單使用 | 詳細介紹Selenium的依賴環境在Windows和Centos7上的安裝及簡單使用 |
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 | 詳細介紹定位元素的8種方式並配合點擊和輸入、提交、獲取斷言信息等方法的使用 |
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 | 詳細介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器後退、前進、刷新瀏覽器等方法的使用 |
Python爬蟲 - Selenium(4)配置啓動項參數 | 詳細介紹Selenium啓動項參數的配置,其中包括無界面模式、瀏覽器窗口大小設置、瀏覽器User-Agent (請求頭)等等 |
Python爬蟲 - Selenium(5)鼠標事件 | 詳細介紹鼠標右擊、雙擊、拖動、鼠標懸停等方法的使用 |
Python爬蟲 - Selenium(6)鍵盤事件 | 詳細介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵 |
Python爬蟲 - Selenium(7)多窗口切換 | 詳細介紹Selenium是如何實現在不同的窗口之間自由切換 |
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 | 詳細介紹如何從當前定位的主體切換爲frame/iframe表單的內嵌頁面中 |
Python爬蟲 - Selenium(9)警告框(彈窗)處理 | 詳細介紹如何定位並處理多類警告彈窗 |
Python爬蟲 - Selenium(10)下拉框處理 | 詳細介紹如何靈活的定位並處理下拉框 |
Python爬蟲 - Selenium(11)文件上傳 | 詳細介紹如何優雅的通過send_keys()指定文件進行上傳 |
Python爬蟲 - Selenium(12)獲取登錄Cookies,並添加Cookies自動登錄 | 詳細介紹如何獲取Cookies和使用Cookies進行自動登錄 |
Python爬蟲 - Selenium(13)設置元素等待 | 詳細介紹如何優雅的設置元素等待時間,防止程序運行過快而導致元素定位失敗 |
Python爬蟲 - Selenium(14)窗口截圖 | 詳細介紹如何使用窗口截圖 |
Python爬蟲 - Selenium(15)關閉瀏覽器 | 詳細介紹兩種關閉窗口的區別 |
歡迎留言吐槽