【发布时间】:2013-11-24 19:15:25
【问题描述】:
我正在尝试在 IE7 上使用 Selenium,在 Windows XP 上使用 InternetExplorerDriver。此代码在兼容模式下(在 W7 上)适用于 Firefox、IE9 甚至 IE9。
HTML:
<HTML xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE></TITLE></HEAD>
<BODY>
<div id="login">chicken</div>
</BODY>
构建驱动程序:
private static WebDriver getIE7WebDriver() {
WebDriver driver = null;
DesiredCapabilities capabilities;
capabilities= DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, false);
capabilities.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS,true);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true);
capabilities.setCapability(CapabilityType.BROWSER_NAME, "internet explorer");
capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");
capabilities.setCapability(CapabilityType.VERSION, "7");
System.setProperty("webdriver.ie.driver",(new File("C:\\selenium\\IEDriverServer.exe")).getAbsolutePath());
try {
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return driver;
}
并试图获取我的#index 元素:
log.info(driver.getPageSource());
try {
String value = driver.findElement(By.cssSelector("#login")).toString();
log.info(value);
}
catch ( Exception e ) {
log.error(e.toString());
}
页面源被正确获取,但每当我尝试访问一个元素时,我都会得到一个org.openqa.selenium.NoSuchElementException。我也试过id和XPath。
知道出了什么问题吗?
PS:在 Windows XP 中,IE 没有安全模式。
编辑:driver.getPageSource() 返回:
<HTML xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"><HEAD><TITLE></TITLE></HEAD>
<BODY>
<DIV id=login>chicken</DIV></BODY></HTML>
【问题讨论】:
-
在 ie7 下,告诉 selenium 打印页面源时会出现什么情况?
-
你真的需要IE7和WinXP吗?我认为两者都在 2014 年 4 月不再提供扩展支持。
-
@acdcjunior 它准确地打印出我在问题中给出的 HTML 代码,除了
div是大写的。 -
@ChristianKuetbach 不幸的是,这超出了我的控制范围,但我可以(不是 WinXP,而是 IE7)。
-
如果使用
WebDriverWait等待元素会发生什么?
标签: java internet-explorer xpath selenium