1. 程式人生 > >python selenium 元素操作之鍵盤操作(五)

python selenium 元素操作之鍵盤操作(五)

兩個 .com multi 模擬 刪除 del escape comm f11

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

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 元素操作之鍵盤操作(五)