appium 鍵盤按鍵用法

來源:互聯網
上載者:User

標籤:帳號   class   按鍵組合   注意   nbsp   div   沒有   code   ace   

  • l 鍵盤按鍵用法
  • l 鍵盤按鍵組合用法
  • l send_keys() 輸入中文運行報錯問題

 

 

鍵盤按鍵鍵用法:

#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keys  #需要引入keys包import os,timedriver = webdriver.Firefox()driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fwebcloud.kuaibo.com%2F")time.sleep(3)driver.maximize_window() # 瀏覽器全螢幕顯示driver.find_element_by_id("user_name").clear()driver.find_element_by_id("user_name").send_keys("fnngj")#tab的定位相相於清除了密碼框的預設提示資訊,等同上面的clear()driver.find_element_by_id("user_name").send_keys(Keys.TAB)time.sleep(3)driver.find_element_by_id("user_pwd").send_keys("123456")#通過定位密碼框,enter(斷行符號)來代替登陸按鈕driver.find_element_by_id("user_pwd").send_keys(Keys.ENTER)‘‘‘#也可定位登陸按鈕,通過enter(斷行符號)代替click()driver.find_element_by_id("login").send_keys(Keys.ENTER)‘‘‘time.sleep(3)time.sleep(3)driver.quit()

要想調用鍵盤按鍵動作需要引入keys包:

from selenium.webdriver.common.keys import Keys

通過send_keys()調用按鍵:

send_keys(Keys.TAB)        # TAB

send_keys(Keys.ENTER)    # 斷行符號

 

注意:這個操作和頁面元素的遍曆順序有關,假如當前定位在帳號輸入框,按鍵盤的tab鍵後遍曆的不是密碼框,那就不法輸入密碼。 假如輸入密碼後,還有需要填寫驗證碼,那麼斷行符號也起不到登陸的效果。

這並不是一種好的方法,這裡只是為了驗證單個按鍵的用法

 

 

鍵盤按鍵組合用法:

#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport os,timedriver = webdriver.Firefox()driver.get("http://www.baidu.com")#輸入框輸入內容driver.find_element_by_id("kw").send_keys("selenium")time.sleep(3)#ctrl+a 全選輸入框內容driver.find_element_by_id("kw").send_keys(Keys.CONTROL,‘a‘)time.sleep(3)#ctrl+x 剪下輸入框內容driver.find_element_by_id("kw").send_keys(Keys.CONTROL,‘x‘)time.sleep(3)#輸入框重新輸入內容,搜尋driver.find_element_by_id("kw").send_keys(u"蟲師 cnblogs")driver.find_element_by_id("su").click()time.sleep(3)driver.quit()

上面的操作沒有實際意義,但向我們示範了鍵盤組合按鍵的用法。

 

 

輸入中文問題

順便解決了一個困擾我到現的一個輸入中檔案的問題。selenium2 python在send_keys()中輸入中文一直報錯,其實前面加個小u 就解決了:

send_keys(u"輸入中文")

 

 

基本上鍵盤上所有的按鍵都可以類比

module:selenium.webdriver.common.keys? class Keys()– NULL = u’ue000’– CANCEL = u’ue001’ # ^break– HELP = u’ue002’– BACK_SPACE = u’ue003’– TAB = u’ue004’– CLEAR = u’ue005’– RETURN = u’ue006’– ENTER = u’ue007’– SHIFT = u’ue008’– LEFT_SHIFT = u’ue008’ # alias– CONTROL = u’ue009’– LEFT_CONTROL = u’ue009’ # alias– ALT = u’ue00a’– LEFT_ALT = u’ue00a’ # alias– PAUSE = u’ue00b’– ESCAPE = u’ue00c’– SPACE = u’ue00d’– PAGE_UP = u’ue00e’– PAGE_DOWN = u’ue00f’– END = u’ue010’– HOME = u’ue011’– LEFT = u’ue012’– ARROW_LEFT = u’ue012’ # alias– UP = u’ue013’– ARROW_UP = u’ue013’ # alias– RIGHT = u’ue014’– ARROW_RIGHT = u’ue014’ # alias– DOWN = u’ue015’– ARROW_DOWN = u’ue015’ # alias– INSERT = u’ue016’– DELETE = u’ue017’– SEMICOLON = u’ue018’– EQUALS = u’ue019’– NUMPAD0 = u’ue01a’ # numbe pad keys– NUMPAD1 = u’ue01b’– NUMPAD2 = u’ue01c’– NUMPAD3 = u’ue01d’– NUMPAD4 = u’ue01e’– NUMPAD5 = u’ue01f’– NUMPAD6 = u’ue020’– NUMPAD7 = u’ue021’– NUMPAD8 = u’ue022’– NUMPAD9 = u’ue023’– MULTIPLY = u’ue024’– ADD = u’ue025’– SEPARATOR = u’ue026’– SUBTRACT = u’ue027’– DECIMAL = u’ue028’– DIVIDE = u’ue029’– F1 = u’ue031’ # function keys– F2 = u’ue032’– F3 = u’ue033’– F4 = u’ue034’– F5 = u’ue035’– F6 = u’ue036’– F7 = u’ue037’– F8 = u’ue038’– F9 = u’ue039’– F10 = u’ue03a’– F11 = u’ue03b’– F12 = u’ue03c’– META = u’ue03d’– COMMAND = u’ue03d’

appium 鍵盤按鍵用法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.