webdriver隐藏元素的处理(二)--getElementsByTagName
2014-11-26 22:15
351 查看
在上一篇文章中我们提到有关隐藏元素的webdriver的定位方法--使用JS,这个时候可以用getElementById,getElementsByName和getElementsByTagName来定位,并同时可以调用相应的方法。
在用getElementById,getElementsByName对元素进行定位操作的时候,方法相对简单,并在上篇文章中也有举例。但是用getElementsByTagName来定位就相对复杂一些儿,今天用到了这个方法,写了一段JS,嵌到对应该的webdriver脚本中才实现,现在给大家共享一下。
问题:通过点击页面上的隐藏元素,展示下拉菜单,执行菜单上的操作。可是元素要鼠标移过去才会显示出来,并且此元素如:,没有ID和Name,Webdriver的mouseover不太好用,定位没有效果,如果定位不对,就会对隐藏元素进行操作,提示::"org.openqa.selenium.ElementNotVisibleException:Element
is not currently visible and so may not be interactedwith"
解决方案:通过js中的document.getElementByTaName来定位操作。
Stringjs="myDocumentElements=document.getElementsByTagName("body"); //获得所有tagName是body的元素(当然每个页面只有一个)
myBody=myDocumentElements.item(0);
myBodyElements=myBody.getElementsByTagName("em");// 获得body子元素种的所有em元素
myP=myBodyElements.item(9);//获得第九个em元素
myP.click();";// 执行其click()操作
JavascriptExecutorjse= (JavascriptExecutor)driver;
jse.ExecuteJs(js,"");
在用getElementById,getElementsByName对元素进行定位操作的时候,方法相对简单,并在上篇文章中也有举例。但是用getElementsByTagName来定位就相对复杂一些儿,今天用到了这个方法,写了一段JS,嵌到对应该的webdriver脚本中才实现,现在给大家共享一下。
问题:通过点击页面上的隐藏元素,展示下拉菜单,执行菜单上的操作。可是元素要鼠标移过去才会显示出来,并且此元素如:,没有ID和Name,Webdriver的mouseover不太好用,定位没有效果,如果定位不对,就会对隐藏元素进行操作,提示::"org.openqa.selenium.ElementNotVisibleException:Element
is not currently visible and so may not be interactedwith"
解决方案:通过js中的document.getElementByTaName来定位操作。
Stringjs="myDocumentElements=document.getElementsByTagName("body"); //获得所有tagName是body的元素(当然每个页面只有一个)
myBody=myDocumentElements.item(0);
myBodyElements=myBody.getElementsByTagName("em");// 获得body子元素种的所有em元素
myP=myBodyElements.item(9);//获得第九个em元素
myP.click();";// 执行其click()操作
JavascriptExecutorjse= (JavascriptExecutor)driver;
jse.ExecuteJs(js,"");
相关文章推荐
- webdriver隐藏元素的处理(一)
- Selenium Webdriver2.0 处理隐藏元素
- Selenium Webdriver 处理隐藏元素的问题
- android webView 图片加载不出来 后台报错Uncaught TypeError: Cannot call method 'getElementsByTagName' of null
- 用getElementsByTagName遍历HTML DOM元素
- 使用selenium webdriver从隐藏元素中获取文本
- 利用getElementsByTagName解析 responseXML 返回的值 (ie6特殊处理)
- 对getElementsByTagName("*")获取全部元素的总结
- html dom中要查找希望操作的元素使用的方法:getElementById()和getElementsByTagName()的区别
- Selenium Webdriver——操作隐藏的元素
- IE中getElementsByTagName无法获取元素BUG
- JS基础——getElementsByTagName获取元素
- 关于javascript解析xml文件时找不到元素getElementsByTagName()
- Selenium Webdriver——操作隐藏的元素(二)display属性
- Android通过getElementsByClassName快速隐藏WebView标题和广告
- WebDriver 如何获取页面中的隐藏元素(悬浮菜单)
- js实现单元格没有内容的行隐藏document.getElementsByTagName
- Selenium WebDriver 弹窗,Frame, 元素处理
- webdriver页面元素等待问题处理方法
- 对getElementsByTagName("*")获取全部元素的总结