python selenium-webdriver 元素操做之鍵盤操做(五)

上節介紹了模擬鼠標對元素的操做,本節主要介紹鍵盤對元素的操做,實際過程當中鼠標對元素的操做比鍵盤對元素的操做更常常使用,可是鍵盤對元素的操做也很重要,本節主要介紹一下鍵盤對元素的操做。web

selenium 提供了比較完整的鍵盤操做,在使用的模擬鍵盤操做以前須要咱們導入from selenium.webdriver.common.keys import Keys便可,而後就能夠來模擬鍵盤操做。ui

#導入Keys 模塊,而後咱們看看Keys 模塊定義了那些按鍵
from selenium.webdriver.common.keys import Keys

導入模塊之後,咱們能夠看看具體的定義按鍵內容,我已經把常常使用的按鍵註釋標記。spa

    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'

看到模塊中包含了不少的按鍵可是真正實際使用的按鍵很少,因此我下面對按鍵的操做將一些方法介紹一下,就不會對全部的按鍵詳細介紹。3d

1.首先咱們瞭解下組合鍵,什麼是組合鍵,好比咱們常常使用的Ctrl + A ,Ctrl + C 等都是組合鍵。咱們先看個例子code

在使用按鍵操做的時候咱們須要藉助一下send_keys()來模擬操做,Keys.CONTROL 也就是咱們鍵盤上的Ctrl鍵,下面是幾個經常使用的組合鍵。orm

send_keys(Keys.CONTROL,'a')   #全選(Ctrl+A)blog

send_keys(Keys.CONTROL,'c')   #複製(Ctrl+C)utf-8

send_keys(Keys.CONTROL,'x')   #剪切(Ctrl+X)element

send_keys(Keys.CONTROL,'v')   #粘貼(Ctrl+V)get

咱們下面使用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()

這裏咱們能夠看到跟鼠標的模擬效果是同樣。

上面的兩個例子說明了使用組合鍵和單個按鍵來操做元素,由於按鍵的使用起來比較簡單,主要是認識每一個按鍵表明的意思,這樣咱們就能夠順利的使用按鍵。

相關文章
相關標籤/搜索