我试图编写一个Selenium测试用例,并从Firefox中的Selenium IDE开始.
那里的测试工作很好.现在,我想使用Selenium Webdriver自动化该测试并导出相应的java类.
到目前为止,一切都已设置并且运行良好(Internet Explorer窗口正在打开,显示相应的页面).
但是:Selenium Webdriver找不到元素.
我想获得以下元素:
<div class="x-grid3-cell-inner x-grid3-col-instance/status" unselectable="on">Open</div>
WebElement openWorkItem = driver.findElement(By.xpath("//div[contains(text(),'Open')]"));
System.out.println(openWorkItem.getText());
在带有Selenium IDE的测试用例中,该语句几乎相同,并且可以正常工作:
<td>//div[contains(text(),'Open')]</td>
唯一的区别是,Selenium IDE仅在Firefox中可用,但最后,我希望使用Selenium WebDriver在IE中执行测试.
很感谢任何形式的帮助.
== ==更新
我执行了driver.getPageSource(),现在看到我正在寻找的HTML部分不可用,因为它似乎位于iFrame中.有任何想法吗?
解决方法:
您可以使用findElement获取框架Webelement并将其与switchto()方法一起使用.
driver.switchTo().frame(driver.findElement(By.xpath("iframe[contains(@name=pngNewCase1143241142570_IFrame)]")));
如果您还有其他属性,例如src,可以尝试以下操作.
WebElement frame=driver.findElement(By.xpath("//iframe[@src='showNewClaimForm.action']");
driver.switchTo().frame(frame);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。