qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          輕松自動化---selenium-webdriver(python) (十二)之模擬鍵盤

          本節重點:

          • l 鍵盤按鍵用法
          • l 鍵盤組合鍵用法
          • l 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) 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-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 pythonsend_keys()中輸入中文一直報錯,其實前面加個小就解決了:

          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’
          復制代碼

           

           

           

          --------------------------

          學習更多selenium 內容:

           「功能測試自動化」匯總

          posted on 2014-03-26 13:26 順其自然EVO 閱讀(1106) 評論(0)  編輯  收藏 所屬分類: 自動化測試python

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 云霄县| 长治市| 县级市| 平舆县| 西平县| 文安县| 遂宁市| 玛沁县| 石楼县| 灵璧县| 镇坪县| 汉中市| 西青区| 新宾| 营口市| 沽源县| 卢湾区| 武城县| 秭归县| 双牌县| 日照市| 巴林左旗| 金乡县| 安福县| 武强县| 德庆县| 婺源县| 博客| 商水县| 萝北县| 安多县| 额尔古纳市| 东乡县| 巴青县| 山阴县| 双桥区| 久治县| 宝山区| 当阳市| 台前县| 连州市|