python selenium ---键盘事件
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                python selenium ---键盘事件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                轉自:http://www.cnblogs.com/fnng/p/3258946.html
本節(jié)重點:
- l?鍵盤按鍵用法
- l?鍵盤組合鍵用法
- l?send_keys()?輸入中文運行報錯問題
?
?
鍵盤按鍵鍵用法:
#coding=utf-8 from selenium import webdriver from 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-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys import 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’?
轉載于:https://www.cnblogs.com/saryli/p/5182777.html
總結
以上是生活随笔為你收集整理的python selenium ---键盘事件的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 梦到亲人交代遗言什么意思
- 下一篇: 梦到屋外刮大风是什么意思
