本节重点:
键盘按键用法
键盘组合键用法
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键后遍历的不是密码框,那不法输入密码。 假如输入密码后,还有需要填写验证码,那么回车也起不到登陆的效果。
这并不是一种好的方法,这里只是为了验证单个按键的用法