qileilove

          blog已經(jīng)轉(zhuǎn)移至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()
          要想調(diào)用鍵盤按鍵操作需要引入 keys 包:
          from selenium.webdriver.common.keys import Keys
          通過 send_keys()調(diào)用按鍵:
          send_keys(Keys.TAB)
          # TAB
          send_keys(Keys.ENTER)
          # 回車
          注意:這個操作和頁面元素的遍歷順序有關(guān),假如當前定位在賬號輸入框,按鍵
          盤的 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
          #輸入框輸入內(nèi)容
          driver.find_element_by_id("kw").send_keys("selenium")
          time.sleep(3)
          #ctrl+a 全選輸入框內(nèi)容
          driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
          time.sleep(3)
          #ctrl+x 剪切輸入框內(nèi)容
          driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
          time.sleep(3)
          #輸入框重新輸入內(nèi)容,搜索
          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并不是萬能的,我們需要保持腳本、瀏覽器、程序三者編碼之
          間的轉(zhuǎn)換;如果 utf-8不能解決,可以嘗試 GBK 或修改瀏覽器的默認編碼。

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

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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 芷江| 浙江省| 陇川县| 鹤峰县| 泰和县| 岳普湖县| 沙田区| 利辛县| 措勤县| 和平区| 杨浦区| 甘洛县| 申扎县| 贵州省| 大英县| 华容县| 禹州市| 赤壁市| 龙川县| 濮阳县| 那坡县| 无锡市| 孝义市| 皋兰县| 德昌县| 即墨市| 延边| 光山县| 宜阳县| 舒兰市| 大姚县| 清流县| 普兰县| 安吉县| 郁南县| 卢龙县| 瑞昌市| 丰城市| 黄石市| 武鸣县| 永顺县|