上節(jié)介紹了模擬鼠標對元素的操作,本節(jié)主要介紹鍵盤對元素的操作,實際過程中鼠標對元素的操作比鍵盤對元素的操作更經常使用,但是鍵盤對元素的操作也很重要,本節(jié)主要介紹一下鍵盤對元素的操作。 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鍵 看到模塊中包含了很多的按鍵但是真正實際使用的按鍵不多,所以我下面對按鍵的操作將一些方法介紹一下,就不會對所有的按鍵詳細介紹。 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.下面常用的鍵,這些常用鍵主要是非組合鍵,直接輸入即可。
下面我們選擇一個常用的鍵,來編寫一個例子,使用回車鍵來代替鼠標的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() 這里我們可以看到跟鼠標的模擬效果是一樣。 上面的兩個例子說明了使用組合鍵和單個按鍵來操作元素,因為按鍵的使用起來比較簡單,主要是認識每個按鍵代表的意思,這樣我們就可以順利的使用按鍵。 |
|