本節(jié)重點:
鍵盤按鍵用法
鍵盤組合鍵用法
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()
要想調(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鍵后遍歷的不是密碼框,那不法輸入密碼。 假如輸入密碼后,還有需要填寫驗證碼,那么回車也起不到登陸的效果。
這并不是一種好的方法,這里只是為了驗證單個按鍵的用法