Ausnahme (org.openqa.Selen.NoSuchWindowException): mit Selenium WebDriver mit Java im Internet Explorer
Während der Verwendung von IE für die Automatisierung mit Selenium Webdriver, ich bin in der Lage, öffnen Sie die URL zu finden, aber das element auf dieser Seite ist das werfen der folgenden Ausnahme:
org.openqa.Selen.NoSuchWindowException: Unable to find element auf
geschlossen Fenster (ACHTUNG: Der server lieferte keine stacktrace
Informationen)
Habe ich versucht das driver.switchTo.window()
Methode, aber es funktioniert nicht.
Ich habe gesucht, es für Stunden und ich bin nicht immer überall.
Hier der code:
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();
}
}
Bitte achten Sie auf die Antwort unten, hinzufügen, dass die Funktion wirklich bewirkt, dass Instabilitäten in den tests, es gibt keinen Punkt in auch zu diagnostizieren Ihr Problem, bis Sie, dass die Einstellung entfernt wird. Ich würde auch bitten Sie, zu nicht verwenden Sie Google für Ihre tests (es sei denn, Sie haben ein Bedürfnis, und mich würde interessieren, was es ist, da würde ich eine große Wette, dass Sie nicht unbedingt brauchen werden eigentlich die Suche in Google UI, es gibt Möglichkeiten, um es). Es ist eine sehr Seite ist zu Komplex. Bitte verwenden Sie eine viel einfachere Seite.
Dank Arran für Ihre Antwort. Ich habe versucht, über andere Seiten als google auch, aber immer den gleichen Fehler. Ich denke aber, ich habe das problem verstanden hatte. Es ist mit der Einstellung der INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS Fähigkeit. Nochmals vielen Dank..
Ich habe die gleiche Ausnahme bei Verwendung von IE 11. Ich habe keinerlei Funktion, aber leider bekam ich, die Ausnahme.
- Treiber.switchTo.window() ist nicht der perfekte code für dieses Problem.
Dank Arran für Ihre Antwort. Ich habe versucht, über andere Seiten als google auch, aber immer den gleichen Fehler. Ich denke aber, ich habe das problem verstanden hatte. Es ist mit der Einstellung der INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS Fähigkeit. Nochmals vielen Dank..
Ich habe die gleiche Ausnahme bei Verwendung von IE 11. Ich habe keinerlei Funktion, aber leider bekam ich, die Ausnahme.
- Treiber.switchTo.window() ist nicht der perfekte code für dieses Problem.
InformationsquelleAutor Amit | 2013-05-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen Fähigkeit
INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS
manuell eingestellt IE-protected-Modus-Einstellungen werden die gleichen für alle Zonen.Quelle:
http://jimevansmusic.blogspot.com/2012/08/youre-doing-it-wrong-protected-mode-and.html
NoSuchElementException ist aufgetreten während der Durchführung von InternetExplorerDriver in Selenium WebDriver
Sie sollten Fragen Sie Ihren office-admin, die Sie benötigen, in der Reihenfolge verändert für Ihre automatisierten tests zu arbeiten, sollte nicht so schwer sein.
Die Problemumgehung besteht die Möglichkeit, jedoch, wenn das nicht funktioniert, dann ist der workaround wird sein, sprechen Sie mit Ihrem Vorgesetzten. Was würde er/Sie erwarten, wenn Sie nicht kontrollieren können Ihre eigenen Test-Umgebung?
Danke Euch allen für die Antworten. Sie haben wirklich helfen.
InformationsquelleAutor Yi Zeng
Bitte eine kleine Beschreibung hinzufügen
Einstellung der INITIAL_BROWSER_URL ist, für mich zu arbeiten.
Bitte legen Sie den geschützten Modus des IE statt der Verwendung von cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
InformationsquelleAutor Venkatesh Chinna
Das Problem, das mir geholfen war, war die init-Seite (IE 11 32-und 64)
Ich schrieb, als: cap.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "google.com/");
InformationsquelleAutor Diana S.
Die beste Wette hier ist, um einige änderungen an der registry:
Gehen Sie zum registry Bearbeiten (
regedit
von windows ausführen)Suchen Sie in der Registrierung unter der
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones
. Dort drüben, Sie sollten sehen, Tasten, Anzahl 0-4 . Unter diesen Tasten 0-4, suchen Sie nach einem Wert namens 2500Für alle Schlüssel von 0-4, haben Sie die gleichen Daten für den Wert 2500. Zum Beispiel für die Taste 0, wenn der Wert 2500 der Daten als 3 - (hex-Daten), dann die Daten für den Wert 2500 3 für die anderen Tasten (1,2,3,4).
Versuchen Sie nun, um das Skript auszuführen.
InformationsquelleAutor user3518765