python selenium-webdriver 元素操作之鍵盤操作
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 Keys
from selenium import webdriver
import time
driver = 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 Keys
from selenium import webdriver
import time
driver = 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 元素操作之鍵盤操作