Selenium学习笔记之014:键盘的用法
来源:互联网 发布:智能电视电影软件 编辑:程序博客网 时间:2024/06/05 15:36
主要学习知识点:
键盘按键用法
键盘组合键用法
send_keys() 输入中文运行报错问题
一、键盘按键键用法:
#coding=utf-8from selenium import webdriverfrom 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)#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键'''#也可定位登陆按钮,通过enter(回车)代替click()driver.find_element_by_id("login").send_keys(Keys.ENTER)'''time.sleep(3)time.sleep(3)driver.quit()
注意:这个操作和页面元素的遍历顺序有关,假如当前定位在账号输入框,按键盘的tab键后遍历的不是密码框,那就不法输入密码。 假如输入密码后,还有需要填写验证码,那么回车也起不到登陆的效果。这并不是一种好的方法,这里只是为了验证单个按键的用法
二、键盘组合键用法:
#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport 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’本文部分参考虫师webdriver文档。
0 0
- Selenium学习笔记之014:键盘的用法
- selenium自动化学习之基本键盘事件
- Selenium学习笔记之二
- Selenium学习笔记之三
- 基于《Selenium 2自动化测试实战》的学习笔记(9)—— 键盘事件
- Python Selenium 学习笔记(三)键盘和鼠标操作
- Python Selenium 学习笔记(三)键盘和鼠标操作
- Selenium学习笔记之五:封装几个通用的函数
- selenium学习的一些笔记
- Python selenium的学习笔记
- selenium学习笔记第一篇之case1
- Selenium学习笔记之010:层级定位
- Selenium学习笔记之011:操作对象
- Selenium学习笔记之015:鼠标事件
- SDL库的学习笔记之五—键盘
- Python爬虫利器之Selenium的用法
- 学习笔记之system.in的用法
- python学习笔记之zip的用法
- Leetcode 21 Merge Two Sorted Lists
- Ubuntu 12.04.5 LTS下配置android4.4编译环境
- android开发中常用颜色代码
- UE4学习笔记2nd
- [LeetCode]Generate Parentheses
- Selenium学习笔记之014:键盘的用法
- AlertDialog
- hdu 5310 Souvenir (简单题)
- [阿里笔试]两市区C1和C2,其人口比率是1:3,从今年的患病统计来说,C1市区由于污染严重,患癌的概率是0.1%,而C2市的患癌概率是0.02%,现在医院接收到一位患癌病人,他是C1市区来的概率是?
- 16/24点阵字库(经典)
- 为什么匿名内部类和局部内部类只能访问final变量
- [PIC32--IDE]Microchip PIC32开发环境的搭建
- Moodle中文API之导航API
- C语言中变量的存储类型