这里有新的硒,请你好。
我在使用Internet Explorer 11的win 7上使用selenium webdriver 2.41.0并获得以下“org.openqa.selenium.NoSuchElementException:无法找到id为== home_title的元素(警告:服务器未提供任何内容)堆栈跟踪信息)“
我正在从属性文件中读取url和iedriverpath,并且当使用有效网址启动浏览器时,该位代码正常工作。
我的其余代码是
// Launches a browser based on the value specified in the properties file
public class LaunchBrowser {
public static WebDriver driver;
private String browser;
private String url;
private String iedriverpath;
// starts up a browser session and navigates to the url specified
@Test
public void startBrowser() throws Exception {
switch (browser) {
case "IE": // Set IE driver path
File ieFile = new File (iedriverpath);
System.setProperty("webdriver.ie.driver", ieFile.getAbsolutePath());
DesiredCapabilities dc = DesiredCapabilities.internetExplorer();
dc.setCapability("nativeEvents", false);
driver = new InternetExplorerDriver(dc);
break;
default:
throw new IllegalArgumentException("Invalid Browser Specified!!!");
}
driver.get(url);
driver.manage().window().maximize();
WebElement ele = driver.findElement(By.id("home_title"));
}
}
我试图找到的元素的HTML看起来像这样
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="33%" style="vertical-align:top;"></td>
<td width="33%" align="center">
<input id="home_title" class="home_title" type="text" readonly="true" title="Cloud Services" value="Cloud Services" style="width: 142px;">
</td>
<td class="text-align-right" width="33%" nowrap="true" style="vertical-align:top;">
</tr>
</tbody>
</table>
任何可能导致异常的想法?它是同步问题还是使用定位器有问题?
谢谢你。
答案 0 :(得分:0)
您需要切换帧。
driver.switchTo().frame("ID of frame");
然后做你的工作..然后切换回来。
driver.switchTo().defaultContent();