Selenium學習筆記之014:鍵盤的用法
阿新 • • 發佈:2019-02-15
主要學習知識點:
鍵盤按鍵用法
鍵盤組合鍵用法
send_keys() 輸入中文執行報錯問題
一、鍵盤按鍵鍵用法:
#coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys #需要引入keys包 import os,time driver = 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)#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鍵 ''' #也可定位登陸按鈕,通過enter(回車)代替click() driver.find_element_by_id("login").send_keys(Keys.ENTER) ''' time.sleep(3) time.sleep(3) driver.quit()
注意:這個操作和頁面元素的遍歷順序有關,假如當前定位在賬號輸入框,按鍵盤的tab鍵後遍歷的不是密碼框,那就不法輸入密碼。 假如輸入密碼後,還有需要填寫驗證碼,那麼回車也起不到登陸的效果。這並不是一種好的方法,這裡只是為了驗證單個按鍵的用法
二、鍵盤組合鍵用法:
#coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys import os,time driver = 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"輸入中文")
基本上鍵盤上所有的按鍵都可以模擬,附模擬鍵盤操作碼:本文部分參考蟲師webdriver文件。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’