selenium.模擬鍵盤操作(Keys)


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'

組合鍵:

send_keys(Keys.BACK_SPACE)   刪除鍵(BackSpace) 
send_keys(Keys.SPACE)        空格鍵(Space) 
send_keys(Keys.TAB)          制表鍵(Tab) 
send_keys(Keys.ESCAPE)       回退鍵(Esc) 
send_keys(Keys.ENTER)        回車鍵(Enter) 
send_keys(Keys.CONTROL,'a')  全選(Ctrl+A) 
send_keys(Keys.CONTROL,'c')  復制(Ctrl+C)
send_keys(Keys.CONTROL,'v')  粘貼(Ctrl+V)
send_keys(Keys.CONTROL,'x')  剪切(Ctrl+X)

非組合鍵:

Keys.ENTER           回車鍵 
Keys.BACK_SPACE      刪除鍵 
Keys.SPACE           空格鍵
Keys.TAB             制表鍵 
Keys.ESCAPE          回退鍵 
Keys.F5              刷新鍵 

百度首頁做個練習,效果如GIF:

 

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
action = ActionChains(driver)
driver.get('https://www.baidu.com')

mov = driver.find_element_by_link_text('設置')
action.move_to_element(mov).perform()
sleep(1)
action.move_to_element_with_offset(mov, 0, 60).click().perform()

sleep(1)
input01 = driver.find_element_by_xpath('//*[@id="adv_keyword"]')
input02 = driver.find_element_by_xpath('//*[@id="adv-setting-2"]/input')
input03 = driver.find_element_by_xpath('//*[@id="adv-setting-3"]/input')
input04 = driver.find_element_by_xpath('//*[@id="advanced"]/div/form/div/table/tbody/tr[4]/td[2]/input')

input01.send_keys("雲想衣裳花想容")
sleep(1)
input01.send_keys(Keys.CONTROL, 'a')
input01.send_keys(Keys.BACK_SPACE)
sleep(1)
input02.send_keys("雲想衣裳花想容,春風拂檻露華濃。")
sleep(1)
input03.send_keys(Keys.TAB, "若非群玉山頭見,會向瑤台月下逢。")
sleep(1)

driver.quit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM