一. 关于隐藏元素,
相信大家都碰到过定位一个当前hidden的元素。看到了很多方法,先总结一下,比较通用的肯定还是用JavascriptExecutor接口的方法了:
JavascriptExecutor js = (JavascriptExecutor) driver;
String myjs="document.getElementById('ctl00_c_NewMenu|1').click();";
js.executeScript(myjs);
或者有值输入的可以这样
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].value='2014-01-10';", driver
.findElement(By.id("Search_EndTime")));
具体JS脚本的写法也有很多了,可以多学习下JS的语法,句法等。在此因为主要是想写关于selenium的博客,暂且不多赘述了。
二. 关于多个元素
关于多个元素,最常见的,可以利用Xpath定位器定位其所在节点的父节点,祖父节点或利用子节点定位,具体关于Xpath,我想分享下Selenium中文论坛的教程,地址如下:
1.
http://www.seleniumcn.cn/read.php?tid=7973
2.
http://www.seleniumcn.cn/read.php?tid=7982
在这里我只讲一个最简单的例子好了,就是我们在定位多个元素,但多个元素有同一属性的时候,我们可以用一些XPath表达式去定位元素。例如,多个输入框:先用driver.findElements方法先把元素装到List里面取,然后,我们用//div[input][label][input]且满足//input[@type='text']的元素值,这样我们就可以把页面所有满足此条件的元素得到了。
List<WebElement> InputFields=driver.findElements(By.xpath("//div[input][label][input]//input[@type='text']"));
然后我们给这些元素sendKeys就方便多了,
String [][] tab2=CMD1_getExcel_Step3(cmd,method);/
/The method to get array list tab2
for(int i=0;i<tab2.length;i++)
{
for(int j=0;j<tab2[j].length;j++)
{
InputFields.get(i).sendKeys(tab2[i][j]);
}
}
分享到:
相关推荐
克隆一个元素用cloneNode就可以了,它有一个bool参数,表示克隆是否包含子节点。 程序第一步就是克隆原table: this._oTable = $(table);//源table this._nTable = this._oTable.cloneNode(false);//新table this._...
$("#intro") id="intro" 的第一个元素 $("ul li:first") 每个 <ul> 的第一个 <li> 元素 $("[href$='.jpg']") 所有带有以 ".jpg" 结尾的属性值的 href 属性 $("div#intro .head") id="intro" 的 <div> 元素中的所有 ...
提供了多个属性设置入口,分别实现最常用属性设置、一般属性设置和高级属性设置功能。当然,UIDesigner不是专用来设计QQ的,其它的Windows客户端产品都在它的工作范围之内。总的来说呢,使用UIDesigner来制作原型是...
程序特点 1,同一个提示框用在多个触发元素时,只需一个实例; 2,显示和隐藏分别有点击方式和触发方式选择; 3,能设置延时显示和隐藏; 4,有25种预设定位位置; 5,可在预设定位基础上,再自定义定位; 6,可设置...
17.12 提供带备用内容的多个视频源 361 17.13 添加具有备用Flash的视频和音频 362 17.14 高级多媒体 366 17.15 更多资源 366 第18章 表格 368 18.1 结构化表格 368 18.2 让单元格跨越多列或多行...
可以一次显示多个覆盖图。 有关请参见。关闭和取消可以通过关闭或取消隐藏叠加层。 关闭和取消之间的区别在于用户的意图。 关闭通常表示用户已确认叠加层上的内容。 默认情况下,只要用户在其外部点击或按退出键,...
引用可以引用多个类名用空格隔开 类名1 类名2 "> 4.id选择器 #id名{样式} 3.特殊选择器 1.群组选择器 #id ,.class{样式} 1.子选择器 #id>.class{样式} 1.分类选择器 div .class{样式} 4.伪类选择器 ...
本文翻译自jQuery Cookbook (O’Reilly 2009) 1.0 The jQuery Philosophy jQuery的哲学是“写更少的代码,做更多的事情”,这一哲学可...比如下面这个例子:首先向用户隐藏一个元素,然后向这个隐藏了的元素内插入一些
在树结构中,每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。例如,在图1-1中,结点D,E,F均为叶子结点。 度 在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大...
★查找指定冗余样式CSS规则(即多个 以绝对定位的元素为中心的规则 定义相同的配色方案)。使用CSSpotlight,您可以在三个简单的步骤中完成所有这些: 1.输入一个或多个CSS样式属性。 2.单击“HTML元素”或“CSS...
属性编辑程序使您能将每个元素进行自定义。 元素的自动生成功能。 您能在任何地方放置任何元素。 Edge snapping能通过“点击”对屏幕元素进行统一记录。 设计网格向您提供了简单的制作具有一致性设计布局的方法...
3.5 定位代码和调用堆栈 3.6 浏览器捕获异常 3.7 总结 第二部分 JavaScript核心 第4章 语言结构 4.1 JavaScript的基本文法 4.2 常量和变量 4.3 表达式和运算符符 4.4 控制语句 句 ...
6.15 使用拖动方式选择多个元素 6.16 在两个Tab标签之间进行元素拖动 6.17 拖动表格选择多行数据 6.18 拖动表格时自动选中复选框 6.19 拖动表格行并放置到目标位置 6.20 表格的拖动排序 6.21 拖动调整控件的大小 ...
如果存在多个外围标签,它们将被组合在一起。 可以显示和隐藏。 参数: id(字符串):用于确定内容顺序(一致排序所需)PeripheryLabel.setToWindowTop() 确保标签位于窗口顶部。 固定的 CSS 定位并不总是保持不变...
封装一个组件,组件保护一个插槽,我们可以根据不同的场景,利用插槽随意在这个弹框里插入任何元素,这个弹框显示时根据我鼠标的点击位置,定位弹窗的位置,并在组件里面监听鼠标抬起事件,触发事件时将弹窗隐藏;...
45、当向列表框中添加多个项时如何防止闪烁 55 46、如何向编辑控件中添加文本 55 47、如何访问预定义的GDI对象 55 48、如何获取GDI对象的属性信息 56 49、如何实现一个橡皮区矩形 56 50、如何更新翻转背景颜色的文本...
collapseColumns - 设置 TableLayout 内的 TableRow 中需要隐藏的列的列索引,多个用“,”隔开 stretchColumns - 设置 TableLayout 内的 TableRow 中需要拉伸(该列会拉伸到所有可用空间)的列的列索引,多个用“,...