標籤:帳號 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 鍵盤按鍵用法