python selenium-webdriver 元素操作之鍵盤操作

來源:互聯網
上載者:User

標籤:滑鼠   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 元素操作之鍵盤操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.