雖然使用IE進行自動化使用Selenium Webdriver,但我可以打開該URL,但在該頁面上查找該元素正在拋出以下異常:異常(org.openqa.selenium.NoSuchWindowException):在Internet Explorer中將Selenium WebDriver與Java結合使用
org.openqa.selenium.NoSuchWindowException:無法在 封閉的窗口中找到元素(警告:服務器未提供任何堆棧跟蹤信息 )
我已經試過driver.switchTo.window()
方法,但它的不工作。 我已經搜索了幾個小時,我沒有得到任何地方。
下面的代碼:
public static Selenium selenium;
public static void main(String args[]) {
try {
System.setProperty(
"webdriver.ie.driver",
"D:\\Driver\\IEDriverServer_Win32_2.32.3_latest\\IEDriverServer.exe");
DesiredCapabilities capab = DesiredCapabilities.internetExplorer();
capab.setCapability(
InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
WebDriver driver = new InternetExplorerDriver(capab);
driver.get("http://www.google.com");
driver.findElement(By.xpath(".//*[@id='addlang']/a[1]")).click();
} catch (Exception e) {
e.printStackTrace();
}
}
請注意下面的答案,添加該功能確實會在您的測試中引起不穩定情況,甚至在刪除該設置之前診斷問題都沒有意義。我也會好心地問你,不要**用谷歌進行測試(除非你有需要,而且我會對它是什麼感興趣,因爲我會投入巨大的賭注,因爲你不一定* *需要**實際上是在谷歌的用戶界面搜索,有辦法解決它)。這是一個**非常複雜的頁面。請使用更簡單的頁面。 – Arran
感謝Arran的回覆。我嘗試使用除谷歌以外的其他頁面,但得到相同的錯誤。不過,我想我已經理解了這個問題。這是與設置INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS功能。再次感謝.. – Amit
我在使用IE 11時遇到了同樣的異常。我沒有使用任何功能,但不幸的是我得到了這個異常。 –