Python Selenium 杂项
说明
本文将记录一些在selenium使用中容易遗忘的一些细节方便查询,目前包括:
- 预制的显示等待条件
- send_keys键盘事件
预制的显示等待条件
导入EC(expected_conditions)
from selenium.webdriver.support import expected_conditions as EC
预制条件
元素出现及可见 | 说明 |
---|---|
presence_of_element_located | 指定locator是否出现 |
presence_of_all_elements_located | 指定locator是否全部出现 |
visibility_of_element_located | 指定locator是否可见 |
invisibility_of_element_located | 指定locator是否不可见 |
visibility_of | 指定WebElement 是否可见 |
text_to_be_present_in_element | 指定文本是否出现在指定元素的text中 |
text_to_be_present_in_element_value | 指定文本是否出现在指定元素的value中 |
frame_to_be_available_and_switch_to_it | 指定frame是否出现并可切入 |
alert_is_present | 是否有alert出现 |
点击及选选中 | 说明 |
---|---|
element_to_be_clickable | 指定locator是否可点击 |
element_to_be_selected | 指定WebElement是否被选中 |
element_located_to_be_selected | 指定locator是否被选中 |
其他 | 说明 |
---|---|
title_is | 传入标题是否等于页面标题 |
title_contains | 传入标题是否包含于页面标题 |
element_selection_state_to_be | 指定WebElement是否为指定状态 |
element_located_selection_state_to_be | 指定locator是否为指定状态 |
staleness_of | 指定WebElement是否还在DOM中 |
send_keys键盘事件
导入Keys
from selenium.webdriver.common.keys import Keys
键盘事件
事件值 | 说明 |
---|---|
Keys.BACK_SPACE | 回退键(BackSpace) |
Keys.TAB | 制表键(Tab) |
Keys.ENTER | 回车键(Enter) |
Keys.SHIFT | 大小写转换键(Shift) |
Keys.CONTROL | Control键(Ctrl) |
Keys.ALT | ALT键(Alt) |
Keys.ESCAPE | 返回键(Esc) |
Keys.SPACE | 空格键(Space) |
Keys.PAGE_UP | 翻页键上(Page Up) |
Keys.PAGE_DOWN | 翻页键下(Page Down) |
Keys.END | 行尾键(End) |
Keys.HOME | 行首键(Home) |
Keys.LEFT | 方向键左(Left) |
Keys.UP | 方向键上(Up) |
Keys.RIGHT | 方向键右(Right) |
Keys.DOWN | 方向键下(Down) |
Keys.INSERT | 插入键(Insert) |
Keys.DELETE | 删除键(Delete) |
Keys.NUMPAD0 ~ NUMPAD9 | 数字键1-9 |
Keys.F1 ~ F12 | F1 - F12键 |
send_keys(Keys.CONTROL, ‘a’) | 组合键Control+a,全选 |
send_keys(Keys.CONTROL, ‘c’) | 组合键Control+c,复制 |
send_keys(Keys.CONTROL, ‘x’) | 组合键Control+x,剪切 |
send_keys(Keys.CONTROL, ‘v’) | 组合键Control+v,粘贴 |

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Robot Framework之python脚本调用
前言 喜欢使用RF的原因之一就是能自己定义关键字,这篇就简单说下如何创建系统关键字,先来个最简单的,求比较两个数的大小 一、建立库文件 假设python的安装路径在D:/下面(作者是放在D:\python\python27) 1、在D:\python\python27\Lib\site-packages\ 建立库文件文件夹 MyLibrary 2、在MyLibrary 内建立 mytool.py 文件和__init__.py 文件 如: 这个文件里面写自己需要穿件的关键字既方法,如下代码里面有一个比较两参数大小的方法,在Robot Framework 里面将以关键字的方式使用 mytool.py 如下模板,注意类名要与库文件夹名称一致 __init__.py 该文件中第一句,是导入deviceDriver.py文件中DeviceDriver类;第二句,创建DeviceDriver的派生类;第三句,把deviceDriver集成到robot framework! 二、在Robot Framework中导入库文件 1、库文件的导入: 选择套件名称,点击右边面包的Library 点击Libr...
- 下一篇
Vue - day2
day2 自定义指令 Vue.directive('指令id',{ bind:function(el,binding){} // 指令绑定到元素上,调用,只执行一次 (样式有关的操作) inserted:function(el,binding){} // 被绑定元素插入父节点时调用,触发一次 (行为有关的操作) updated:function(el,binding){} // 当Vnode(组件)更新的时候,调用,触发多次 }) 参数说明 1.指令id可由程序员自行定义,注意和系统指令名称有所区别,例如: focus,在某个元素上具体使用的时候请在 指令id前面再加上v-,例如 <input v-focus> 2.第二个参数是一个对象,一个指令定义对象可以提供如下几个钩子函数 (均为可选): bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。 inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。 update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度