Java Selenium WebDriver未通过XPATH找到元素

Java Selenium WebDriver未通过XPATH找到元素,java,selenium,xpath,Java,Selenium,Xpath,我试图编写一个Selenium测试用例,并从Firefox中的Selenium IDE开始。 测试在那里进行得很顺利。现在,我想用SeleniumWebDriver自动化该测试,并导出相应的JAVA类。 到目前为止,一切都已设置好,工作正常(Internet Explorer窗口正在打开,显示相应的页面) 但是:SeleniumWebDriver找不到元素。 我想得到以下元素: <div class="x-grid3-cell-inner x-grid3-col-instance/stat

我试图编写一个Selenium测试用例,并从Firefox中的Selenium IDE开始。 测试在那里进行得很顺利。现在,我想用SeleniumWebDriver自动化该测试,并导出相应的JAVA类。 到目前为止,一切都已设置好,工作正常(Internet Explorer窗口正在打开,显示相应的页面)

但是:SeleniumWebDriver找不到元素。 我想得到以下元素:

<div class="x-grid3-cell-inner x-grid3-col-instance/status" unselectable="on">Open</div>
在使用Selenium IDE的testcase中,该语句基本相同,并且可以正常工作:

<td>//div[contains(text(),'Open')]</td>
//div[contains(text(),'Open')]
唯一的区别是,Selenium IDE仅在Firefox中可用,但最终我希望使用Selenium WebDriver在IE中执行测试

非常感谢您的帮助

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

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

如果您有一些其他属性,比如src,您可以尝试下面的方法

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

尝试了
//div[text()='Open']
?谢谢您的建议。我试过了,但也不行。页面是否使用框架?如果是这样,那么浏览器对帧的处理会有所不同,因此对于IE 6,7,8,9,第一个帧可以是帧[0],但W3C将第一个帧定义为帧[1]。要在IE中解决此问题,请将SelectionLanguage设置为XPath。“有什么想法吗?”-是的,在尝试查找元素之前切换到该
iframe
driver.switchTo().frame(driver.findElement(By.xpath("iframe[contains(@name=pngNewC‌​ase1143241142570_IFrame)]")));
WebElement frame=driver.findElement(By.xpath("//iframe[@src='showNewClaimForm.action']");
driver.switchTo().frame(frame);