Ich stehe mit Selenium WebDriver vor einem sehr seltsamen Problem. Nach dem Einloggen in die Website zeigt unsere Anwendung ein Popup-Fenster für die Standardauthentifizierung, das ich über AutoIT bearbeitet habe. Problem ist nach dem Laden der Seite, Selen dauert etwa 80-100 Sekunden, um den nächsten Befehl auszuführen. Next Command könnte alles sein, ich versuche einfach den Titel des Browsers nach dem Laden der Seite zu erhalten. Nach dem Ausführen des nächsten Befehls in 80-100 Sekunden führt Selenium den Rest des Befehls in normaler Geschwindigkeit aus.Selenium braucht zu viel Zeit, um einen Befehl auszuführen, nachdem das Browser-Authentifizierungsfenster geöffnet wurde
Jede Idee, was könnte das Problem sein? Ich habe meinen Code unten hinzugefügt.
driver.findElement(By.id("username").sendKeys("username");
driver.findElement(By.id("password").sendKeys("passowrd");
driver.findElement(By.id("submit").click();
File file = new File("lib", "jacob-1.17-x64.dll");
System.setProperty(LibraryLoader.JACOB_DLL_PATH,
file.getAbsolutePath());
AutoItX autoIt = new AutoItX();
Thread.sleep(2000);
String title = "Authentication Required";
autoIt.winActivate(title, "");
autoIt.winWaitActive(title);
if (autoIt.winExists(title)) {
autoIt.send("username{TAB}", false);
autoIt.send("password{Enter}", false);
}
} catch (InterruptedException ex) {
//
}*/
System.out.println(driver.getTitle());
System.out.println(driver.findElement(By.cssSelector(".sdfsdf")).getText());
System.out.println(driver.findElement(By.id("key")).getAttribute("placeholder"));
In dem obigen Code, nimmt Selen etwa 60-80 Sekunden den get Titel Befehl auszuführen, aber nach, dass es funktioniert ziemlich normal. Auch wenn ich die Reihenfolge des Befehls im Code ändere, bleibt das Ergebnis gleich.
Verwenden Sie die neueste Selenium-Chrom-Treiberversion? Es könnte veraltet sein. Was passiert nach diesen 60-80 Sekunden, wird die Seite möglicherweise aktualisiert? Es kann auch sein, dass beim Aufruf von 'driver.getTitle()' die Seite noch nicht geladen ist. Sie sollten etwas "warten" Bedingung oder etwas hinzufügen. – Edgar
Ich benutze Firefox Browser und nein, es wartet 60-80 Sekunden, nachdem die Seite bereits geladen ist. – Naseem