標籤:滑鼠 def 輸入 strip ecs gif family number back
selenium 提供了比較完整的鍵盤操作,在使用的類比鍵盤操作之前需要我們匯入from selenium.webdriver.common.keys import Keys
即可,然後就可以來類比鍵盤操作。
#匯入Keys 模組,然後我們看看Keys 模組定義了那些按鍵from selenium.webdriver.common.keys import Keys
匯入模組以後,我們可以看看具體的定義按鍵內容,我已經把經常使用的按鍵注釋標記。
NULL = ‘\ue000‘ CANCEL = ‘\ue001‘ # ^break HELP = ‘\ue002‘ BACKSPACE = ‘\ue003‘ BACK_SPACE = BACKSPACE #刪除鍵 TAB = ‘\ue004‘ #TAB鍵 CLEAR = ‘\ue005‘ RETURN = ‘\ue006‘ ENTER = ‘\ue007‘ #斷行符號鍵 SHIFT = ‘\ue008‘ #Shift鍵 LEFT_SHIFT = SHIFT CONTROL = ‘\ue009‘ LEFT_CONTROL = CONTROL #Ctrl 鍵 ALT = ‘\ue00a‘ #ALT 鍵 LEFT_ALT = ALT PAUSE = ‘\ue00b‘ ESCAPE = ‘\ue00c‘ #ECS鍵 SPACE = ‘\ue00d‘ #空格鍵 PAGE_UP = ‘\ue00e‘ #PgUp 鍵 PAGE_DOWN = ‘\ue00f‘ #PgDwon 鍵 END = ‘\ue010‘ #END 鍵 HOME = ‘\ue011‘ #HOME 鍵 LEFT = ‘\ue012‘ #左鍵 ARROW_LEFT = LEFT UP = ‘\ue013‘ #上鍵 ARROW_UP = UP RIGHT = ‘\ue014‘ ARROW_RIGHT = RIGHT #右鍵 DOWN = ‘\ue015‘ #下鍵 ARROW_DOWN = DOWN INSERT = ‘\ue016‘ #insert鍵 DELETE = ‘\ue017‘ #del鍵 SEMICOLON = ‘\ue018‘ #‘;‘鍵 EQUALS = ‘\ue019‘ #‘=‘鍵 #數字鍵台 NUMPAD0 = ‘\ue01a‘ # number pad keys NUMPAD1 = ‘\ue01b‘ NUMPAD2 = ‘\ue01c‘ NUMPAD3 = ‘\ue01d‘ NUMPAD4 = ‘\ue01e‘ NUMPAD5 = ‘\ue01f‘ NUMPAD6 = ‘\ue020‘ NUMPAD7 = ‘\ue021‘ NUMPAD8 = ‘\ue022‘ NUMPAD9 = ‘\ue023‘ MULTIPLY = ‘\ue024‘ # ‘*‘ 鍵 ADD = ‘\ue025‘ # ‘+‘ 鍵 SEPARATOR = ‘\ue026‘ #‘,‘鍵 SUBTRACT = ‘\ue027‘ # ‘-‘ 鍵 DECIMAL = ‘\ue028‘ # ‘.‘鍵 DIVIDE = ‘\ue029‘ #‘/‘鍵 F1 = ‘\ue031‘ # function keys F2 = ‘\ue032‘ F3 = ‘\ue033‘ F4 = ‘\ue034‘ F5 = ‘\ue035‘ F6 = ‘\ue036‘ F7 = ‘\ue037‘ F8 = ‘\ue038‘ F9 = ‘\ue039‘ F10 = ‘\ue03a‘ F11 = ‘\ue03b‘ F12 = ‘\ue03c‘ META = ‘\ue03d‘ COMMAND = ‘\ue03d‘
看到模組中包含了很多的按鍵但是真正實際使用的按鍵不多,所以我下面對按鍵的操作將一些方法介紹一下,就不會對所有的按鍵詳細介紹。
1.首先我們瞭解下按鍵組合,什麼是按鍵組合,比如我們經常使用的Ctrl + A ,Ctrl + C 等都是按鍵組合。我們先看個例子
在使用按鍵動作的時候我們需要藉助一下send_keys()來類比操作,Keys.CONTROL 也就是我們鍵盤上的Ctrl鍵,下面是幾個常用的按鍵組合。
send_keys(Keys.CONTROL,‘a‘) #全選(Ctrl+A)
send_keys(Keys.CONTROL,‘c‘) #複製(Ctrl+C)
send_keys(Keys.CONTROL,‘x‘) #剪下(Ctrl+X)
send_keys(Keys.CONTROL,‘v‘) #粘貼(Ctrl+V)
我們下面使用Ctrl + A 來編寫一個執行個體,看一下按鍵組合的使用。
#-*- coding:utf-8 -*-from selenium.webdriver.common.keys import Keysfrom selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("http://www.baidu.com")driver.find_element_by_id(‘kw‘).send_keys(‘AAAAAAAAAAAA‘)driver.find_element_by_id("kw").send_keys(Keys.CONTROL,‘a‘) #注意這裡按鍵組合的輸入。time.sleep(10)driver.quit()
2.下面常用的鍵,這些常用鍵主要是非按鍵組合,直接輸入即可。
斷行符號鍵 Keys.ENTER
刪除鍵 Keys.BACK_SPACE
空格鍵 Keys.SPACE
製表鍵 Keys.TAB
回退鍵 Keys.ESCAPE
重新整理鍵 Keys.F5
下面我們選擇一個常用的鍵,來編寫一個例子,使用斷行符號鍵來代替滑鼠的click()鍵
#-*- coding:utf-8 -*-from selenium.webdriver.common.keys import Keysfrom selenium import webdriverimport timedriver = webdriver.Chrome()driver.maximize_window()driver.get("http://cn.bing.com/")driver.find_element_by_id(‘sb_form_q‘).send_keys(‘selenium‘)driver.find_element_by_id("sb_form_go").send_keys(Keys.ENTER) #通過斷行符號鍵來代替滑鼠的左鍵driver.quit()
這裡我們可以看到跟滑鼠的類比效果是一樣。
上面的兩個例子說明了使用按鍵組合和單個按鍵來操作元素,因為按鍵的使用起來比較簡單,主要是認識每個按鍵代表的意思,這樣我們就可以順利的使用按鍵
python selenium-webdriver 元素操作之鍵盤操作