元素过滤器(Element Filters)
元素过滤器可以同选择器一起使用, 从一堆候选元素中进行筛选。它们当前仅使
用于’name’元素选择器。
过滤器看起来更像是选择器,也就是:
filterType=argument
所支持的元素过滤器为:
value=valuePattern
匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛
选中显得尤其有用。
index=index
选择单个元素基于其在列表中的位置(从0开始)。
字符串匹配式样
有各种各样的式样语法可用于匹配字符串值:
·glob:pattern: 用″glob″去匹配一个字符串。 ″Glob″是一种用于命令行shells
的代表性的有限正则表达式语法。 在一个glob式样中,″*″代表任意序列字符集,
而
″?″则代表任意单个字符。 Glob式样匹配整个字符串。
· regexp:regexp: 使用正则表达式匹配字符串。可使用所有的JavaScript正则
表达式。
如果没有指定式样前缀, Selenium假定其为″glob″式样。
SeleniumActions
addLocationStrategy (strategyName,functionDefinition)
为selenium定义一个新的函数用于定位页面上的元素。例如,如果你定义了
一个方法″foo″,并运行了click(″foo=blah″),我们将运行你的函数,传递给你字
符串″blah″,并点击该函数所返回的元素,如果返回为 null,则抛出一个″Element
not found″的错误。我们将给该函数传递三个参数。
·locator: 用户传递过来的字符串
·inWindow: 当前所选中的窗体
·inDocument: 当前所选中的文档
如果未找到相应的元素,则函数必须返回一个null。
参数:
·strategyName – 定义的方法名;只能使用字母[a-zA-Z],不能包含空格
或其他标点符号。
· functionDefinition – 在JavaScript函数中的一个定义body的字符串。
如: return inDocument.getElementById(locator);
addSelection (locator, optioLocator)
为通过使用选择定位器,在一个可多选元素中所选择的集合添加一个
selection。 @查看#doSelect 关于选择定位器的细节。
参数:
·locator – 用于指定一个多选框的元素定位器
·optionLocator – 一个选择定位器(默认为标签)
allowNativeXpath (allow)
指定Selenium是否使用XPath的本地浏览执行(如果有可用的本地版本);如果传
递的值为″false″, 我们将使用 pure-JavaScript xpath库。使用 pure-JS xpath库可以
提高 xpath元素定位器在不同浏览器中的一致性, 但其执行速度将大大低于本地
执行。
参数:
·
allow – Boolean,true意味着我们更愿意使用本地XPath;false则意味
着我们将只使用JS XPath
altKeyDown()
按下alt键并保持其按下状态,直到doAltUp()被调用或一个新的页面被加载。
altKeyUp()
释放alt键
answerOnNextPrompt (answer)
通知Selenium返回下一次JavaScript prompt[window.prompt()]所指定的回
答字符串。
参数:
·answer – 对弹出的提示所给与的回答
assignId (locator,identifier)
临时为指定元素设定一个″id″属性, 使你可以在将来使用其 ID, 以代替缓慢且
更复杂的 XPath。该 ID将在页面重载后消失。
参数:
·locator – 指向某个元素的元素定位器
·identifier – 为指定元素作为ID使用的字符串
break()
暂停当前正在进行的测试, 并等待用户按下继续按钮。 这个命令对于调试非常
有用, 但使用时要特别小心, 因为他将强制暂停自动化测试, 直到用户手动操
作。
check(locator)
勾选一个关联性按钮(checkbox/radio)
参数:
·locator – 一个元素定位器
chooseCancelOnNextConfirmation()
默认情况下, Selenium的重载window.confirm()函数将返回true, 等同于用
户手动点击OK;执行该命令后, 下一次调用confirm()将返回false, 等同于用
户手动点击了Cancel。 Selenium对后来的确认动作将继续使用默认行为,自
动返回true(OK),除非/直到你为每个确认动作明确的调用此命令。
chooseOkOnNextConfirmation()
撤销调用chooseCancelOnNextConfirmation的效果。注意, Selenium的重载
window.confirm()函数通常将自动返回true,等同于用户手动点击OK,因此
你没有必要使用此命令, 除非由于某种原因使你在下一次确认动作前不得不改
变你先前的想法。在任意确认动作后, Selenium对后来的确认动作将继续使用默认行为,自动返回true(OK),除非/直到你为每个确认动作明确的调用
chooseCancelOnNextConfirmation()。
click(locator)
点击一个链接、 按钮、 多选框或单选框。 如果该点击事件导致了新的页面加载(如同链接通常所作的),将调用waitForPageToLoad。
参数:
locator -一个元素定位器
clickAt(locator,coordString)
点击一个链接、 按钮、 多选框或单选框。 如果该点击事件导致了新的页面加载(如同链接通常所作的),将调用waitForPageToLoad。
参数:
locator -一个元素定位器
coordString – 指定由定位器返回的鼠标事件相关联的元素x,y 坐标(也就是 – 10,20)
close()
模拟用户点击弹出窗体或表单标题栏上的″关闭″按钮。
controlKeyDown()
按下control键并保持其按下状态,直到doControlUp()被调用或一个新的页
面被加载。
controlKeyUp()
释放control键
createCookie(nameValuePair,optionsString)
创建一个新的cookie,除非你清楚的指定该cookie的路径,否则其路径和域将与当前测试的页面相同。
参数:
nameValuePair – 该cookie的名称和值,使用如下格式″name=value″
optionsString – 该cookie的选项。当前支持的选项包括’path’和’max_age’。 optionsString的格式为”path=/path/,max_age=60”。选项的顺序无关紧要
元素过滤器(Element Filters)的更多相关文章
- 深入理解DOM节点类型第五篇——元素节点Element
× 目录 [1]特征 [2]子节点 [3]特性操作[4]attributes 前面的话 元素节点Element非常常用,是DOM文档树的主要节点:元素节点是html标签元素的DOM化结果.元素节点主要 ...
- 子元素过滤器nth-child解释
jQuery中的子元素过滤器nth-child是指:选取每个父元素下的第index个子元素或者奇偶元素(index从1算起) 这里有几点要注意: 1. index 从1开始算 2. 过滤器filter ...
- jQuery编程基础精华02(属性、表单过滤器,元素的each,表单选择器,子元素过滤器(*),追加方法,节点,样式操作)
属性.表单过滤器 属性过滤选择器: $("div[id]")选取有id属性的<div> $("div[title=test]")选取title属性为 ...
- 【css】主要的块状元素(block element)和内联元素(inline element行内元素)
内联元素:只在行内发生作用,设置宽高不起作用,不会影响文字内容,使其换行等.竖直方向和间距也不起作用 display可以强制转换行内元素和块状元素,还可以取消显示none 块元素(bloc ...
- 【算法31】寻找数组的主元素(Majority Element)
题外话 最近有些网友来信问我博客怎么不更新了,是不是不刷题了,真是惭愧啊,题还是在刷的,不过刷题的频率没以前高了,看完<算法导论>后感觉网上很多讨论的题目其实在导论中都已经有非常好的算法以 ...
- Arcgis Engine(ae)接口详解(8):临时元素(element)
//主地图的地图(map)对象 IMap map = null; IActiveView activeView = null; //IGraphicsContainer用于操作临时元素,可以通过map ...
- ng-click得到当前元素,angular.element()用法
<!DOCTYPE html> <html> <head> <title></title> <script src="lib ...
- css中margin重叠和一些相关概念(包含块containing block、块级格式化上下文BFC、不可替换元素 non-replaced element、匿名盒Anonymous boxes )
平时在工作中,总是有一些元素之间的边距与设定的边距好像不一致的情况,一直没明白为什么,最近仔细研究了一下,发现里面有学问:垂直元素之间的margin有有互相重叠的情况:新建一个BFC后,会阻止元素与外 ...
- 30、vue 过滤器(filters)
filter Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持).过滤器应该被添加在 Ja ...
随机推荐
- 如何使用同一个Action中的不同方法
如何使用同一个Action中的不同方法 1.使用Action的DMI(Dynamic Method Invocation--动态方法调用) (1)动态方法调用: 表单元素的action不是直接为某个A ...
- javase建议学习路线
javase建议学习路线:1.环境的搭建2.基本变量类型3.流程控制4.数组5.集合6.IO7.异常8.线程9.网络编程
- 【leetcode❤python】Ransom Note
#-*- coding: UTF-8 -*- class Solution(object): def canConstruct(self, ransomNote, magazine): ...
- 【转载】linux内核笔记之进程地址空间
原文:linux内核笔记之进程地址空间 进程的地址空间由允许进程使用的全部线性地址组成,在32位系统中为0~3GB,每个进程看到的线性地址集合是不同的. 内核通过线性区的资源(数据结构)来表示线性地址 ...
- js跨域及解决方案
本文出自:http://www.cnblogs.com/oneword/archive/2012/12/03/2799443.html 1.什么是跨域 我们经常会在页面上使用ajax请求访问其他服务器 ...
- Beaglebone Black–GPIO 高低电平控制 LED 灯
上一篇,运用 Linux 的 sysfs,控制本机上的 LED 灯,usr0 至 usr3,这次用 GPIO 控制外部的电路,点亮 LED 灯. 这次的全部材料: BBB 一台 购买 BBB 自带的 ...
- zoj 1010 (线段相交判断+多边形求面积)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=10 Area Time Limit: 2 Seconds Mem ...
- YII的关联查询
先看数据表中的关系是怎样的: customer表中的关系如下: order中的表为: 先在customer中获得order的数据,并与之关联,在 helloController.php 中,代码如下 ...
- mysql 2003 10038 连接不上的解决
网上写的很复杂,其实解决办法是 你在右键管理员权限下运行 mysqld. 忘记这个了,害的又找了近1个小时的时间找问题.
- OpenERP QWeb模板标签笔记
在OpenERP中,通过QWeb来对模板进行渲染后加载到浏览器中,而模板中有许多的标签来定制各种需求变化,在这里记录学习过程中碰到的标签定义,以方便查询. 模板中的标签统一都是以"t-&qu ...