python 键盘事件 打印,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 阅读(900) 评论(0)  编辑  收藏 所属分类: 自动化测试 、python

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值