Selenium WebDriver找不到XPATH元素

我正在尝试编写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中可用,但最后我想在IE中使用Selenium WebDriver执行测试。

很感谢任何形式的帮助。

我执行了driver.getPageSource(),现在看到我要查找的HTML部分不可用,因为它似乎位于iFrame中。有任何想法吗?

回答:

您可以使用findElement获取框架Webelement,并将其与switchto()方法一起使用。

driver.switchTo().frame(driver.findElement(By.xpath("iframe[contains(@name=pngNewC‌​ase1143241142570_IFrame)]")));

如果您还有其他属性,例如src,则可以尝试以下操作。

WebElement frame=driver.findElement(By.xpath("//iframe[@src='showNewClaimForm.action']");

driver.switchTo().frame(frame);

以上是 Selenium WebDriver找不到XPATH元素 的全部内容, 来源链接: utcz.com/qa/422211.html

回到顶部