Python爬蟲 - Selenium(6)鍵盤事件

前言:前邊文章也介紹過模擬鍵盤輸入的方法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)關閉瀏覽器 詳細介紹兩種關閉窗口的區別

歡迎留言吐槽

發佈了63 篇原創文章 · 獲贊 124 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章