Ich verwende Chrome-Treiber und Selen mit Java.Selenium - Searching Element von xPath wird während der Ausführung nicht gefunden, aber es wird im Browser gefunden
Dies ist auf meinem Java-Code. Es wird ausgeführt, während ich auf der jeweiligen Seite bin ich interessiert bin.
driver.findElement(By.xpath("//input[@name='firstName']")).sendKeys("John");
Dies ist auf der Website, auf der jeweiligen Seite.
Das Problem ist nicht einmal über die Einstellung des Textes auf die Eingabe, es ist, dass es das Eingabefeld überhaupt nicht findet. Hier ist der Fehler
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@name='firstName']"}
Command duration or timeout: 20.04 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'
Wie Sie aus dem Fehler sehen kann ich implizite Wartezeit von 20 Sekunden und ich kann sehen, dass die Seite und Felder während dieser Zeit geladen haben. Also die komische Sache ist, dass, wenn ich Chrom öffnen und inspizieren Element und Suche nach xPath, mit dem gleichen genauen Befehl kann ich das Feld finden (Auf der gleichen Seite, die mein Java auf dem gleichen Chromfenster abgestürzt). Ich kann alle anderen Elemente außer dem Eingabefeld finden.
Gibt es eine Möglichkeit, dies zu beheben? Werden Eingabefelder durch Selen nicht unterstützt ?! Ich bin nicht sicher, was ich annehmen soll, irgendwelche Ideen sehr geschätzt!
vielleicht Ihre Eingabe ist in einem Iframe. Sie müssen Ihren Treiber wechseln, um Elemente in diesem Frame zu inspizieren, bevor Sie versuchen, das Element zu finden. –
Ja, das ist es, und mir war nicht einmal bewusst, dass ich das tun sollte. Spot auf! Vielen Dank! – Iordanis
Manchmal kann ein anderer Fehler sein. Also habe ich den Markierer nicht gepostet, nur gebeten, den Rahmen zu überprüfen. Jetzt habe ich ein Beispiel für die Verwaltung von Iframes in Ihren Tests veröffentlicht. Viel Glück! –