qileilove

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

          selenium + python 鍵盤事件

          九、鍵盤事件
          本章重點:
          ?
          鍵盤按鍵用法
          ?
          鍵盤組合鍵用法
          ?
          send_keys() 輸入中文亂碼問題
          9.1、鍵盤按鍵用法
          #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")
          博客園—蟲師
          http://fnng.cnblogs.com
          24
          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)
          driver.quit()
          要想調用鍵盤按鍵操作需要引入 keys 包:
          from selenium.webdriver.common.keys import Keys
          通過 send_keys()調用按鍵:
          send_keys(Keys.TAB)
          # TAB
          send_keys(Keys.ENTER)
          # 回車
          注意:這個操作和頁面元素的遍歷順序有關,假如當前定位在賬號輸入框,按鍵
          盤的 tab 鍵后遍歷的不是密碼框,那就不法輸入密碼。 假如輸入密碼后,還有
          需要填寫驗證碼,那么回車也起不到登陸的效果。
          9.2、鍵盤組合鍵用法
          #coding=utf-8
          from selenium import webdriver
          from selenium.webdriver.common.keys import Keys
          import time
          driver = webdriver.Firefox()
          driver.get("http://www.baidu.com")
          博客園—蟲師
          http://fnng.cnblogs.com
          25
          #輸入框輸入內容
          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()
          上面的操作沒有實際意義,但向我們演示了鍵盤組合按鍵的用法。
          9.3、中文亂碼問題
          selenium2 python 在 send_keys()中輸入中文一直報錯,其實前面加個小 u 就解決了:
          coding=utf-8
          send_keys(u"輸入中文")
          需要注意的是 utf-8并不是萬能的,我們需要保持腳本、瀏覽器、程序三者編碼之
          間的轉換;如果 utf-8不能解決,可以嘗試 GBK 或修改瀏覽器的默認編碼。

          posted on 2014-04-21 19:14 順其自然EVO 閱讀(1052) 評論(0)  編輯  收藏 所屬分類: 自動化測試python

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 油尖旺区| 基隆市| 浪卡子县| 德化县| 鄂托克旗| 临沂市| 宁安市| 高邑县| 张家港市| 青海省| 桂阳县| 吉木乃县| 图木舒克市| 西充县| 安陆市| 会宁县| 车致| 同心县| 绵竹市| 舟曲县| 陵水| 府谷县| 同仁县| 雷波县| 铅山县| 饶河县| 黄石市| 肇源县| 深水埗区| 滕州市| 门头沟区| 大竹县| 昆山市| 延边| 东港市| 峨眉山市| 芜湖市| 台中市| 永宁县| 上栗县| 南平市|