• 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()
  • 相关阅读:
    1270. 数列区间最大值(climits用法+线段树模板题)
    JDBC&DBCP总结
    1264. 动态求连续区间和(树状数组模板题)
    788. 逆序对的数量(归并排序的应用)
    归并排序(模板题)
    ZoomEye技巧
    工具或安全监测网站(不定时更新)
    bp截包
    CTF/web
    CTF/stega——图片隐写
  • 原文地址:https://www.cnblogs.com/youngleesin/p/10452489.html
Copyright © 2020-2023  润新知