Seleium / WebDriver findet weder URL noch Title

Raikbit

Mitglied
Hallo liebe Java Gemeinde,

Problem wie im Thema beschrieben .. hier ein Auszug aus dem Code:

Java:
public void noti1() {
		/////////////////////////////////////////////////////////////////////////////////////////////////////////
		// Notify

		Set<String> windowHandles = webDriver.getWindowHandles();
		for (String handle : windowHandles) {
			webDriver.switchTo().window(handle);
			System.out.println(windowHandles);  //<--- hier findet er noch alle geöffneten Fenser
			System.out.println(webDriver.getCurrentUrl()); // <--- hier scheitert er
			selenium = new WebDriverBackedSelenium(webDriver,
					webDriver.getCurrentUrl());
			System.out.println(webDriver.getTitle());
			if (webDriver.getTitle().equals("Incident Detail")){
				break;
			}
		}
		System.out.println("FERTIG!!!!");

also das komische ist das es scheinbar nur auf der Seite wo ich es haben will streikt ... auf allen anderen Seiten funktioniert der Code. Keine Ahnung woran es liegen könnte :bahnhof:

er findet weder getCurrentUrl() noch getTitle() aber in den windowHandles ist die Seite drin ???:L

HILFEEEE

Edit: die Fehlerausgabe bringt das hier:

Exception in thread "AWT-EventQueue-0" org.openqa.selenium.WebDriverException: [JavaScript Error: "a is null" {file: "file:///C:/Users/Username/AppData/Local/Temp/anonymous295815197365481795webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js" line: 8900}]'[JavaScript Error: "a is null" {file: "file:///C:/Users/Username/AppData/Local/Temp/anonymous295815197365481795webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js" line: 8900}]' when calling method: [nsICommandProcessor::execute]
Command duration or timeout: 18 milliseconds
 
Zuletzt bearbeitet von einem Moderator:
Update:

So hab das ganze jetz mal für den Internet Explorer umgeschrieben. Der findet zwar die URL und Title also ich kann die Seite ansprechen, macht dafür aber andere verwirrende Sachen: Code:
Java:
public void noti1() {
		// ////////////////////////////////////////////////////////////////////////////////////////////////////////
		// Notify

		Set<String> windowHandles = webDriver.getWindowHandles();
		selenium = new WebDriverBackedSelenium(webDriver,
				webDriver.getCurrentUrl());
		System.out.println(windowHandles);
		for (String handle : windowHandles) {
			webDriver.switchTo().window(handle);
			selenium = new WebDriverBackedSelenium(webDriver,
					webDriver.getCurrentUrl());
			System.out.println(selenium.getTitle());
			if (selenium.getTitle().contains("Incident Detail")){
				System.out.println("gefunden");
				break;
			}
		}
		if(selenium.isElementPresent("menu_2")){  //<--- er findet Element an Hand der ID
			System.out.println("menue ist da"); //<--- Ausgabe erscheint
		}
		webDriver.findElement(By.id("menu_2")); // <--- findet Element nicht mehr
		//selenium.click("menu_2"); // <--- findet Element nicht mehr
}

Fehlerausgabe:
Exception in thread "AWT-EventQueue-0" org.openqa.selenium.NoSuchElementException: Unable to find element with id == menu_2 (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 294 milliseconds
For documentation on this error, please visit: No Such Element

Ich peils nich wieso sagt er isElementPresent true und im nächsten Schritt kann er es nicht mehr finden ???
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben