WebDriverWait nicht funktioniert
Ich bin mit Windows 8, IE 10 (java - WebDriver 2.37.0) und ich bin versucht, warten Sie, bis das element auf der Seite geladen. Ich benutzt folgenden code:
WebDriver driver = new FirefoxDriver();
driver.get("http://abc.com");
WebElement myDynamicElement = (
new WebDriverWait(driver, 10).until(
ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));
Aber es wirft eine timeout-exception. Wenn ich entfernen Sie diesen code, es ist in der Lage, identifizieren Sie das element auf die webdriver.
Habe ich versucht den gleichen code in anderen Browsern, wie FireFox, Chrome, aber seine immer noch werfen Fehler.
Jede Hilfe ist willkommen.
Dank
Ist ein element mit der ID "myDynamicElement" auf der Seite vorhanden?
Ja, es ist auf der Seite vorhanden. Wenn ich entfernen Sie die oben warten, code, es ist die Identifizierung, dass element.
Wann tritt das werfen dieser Ausnahme? nach 10 Sekunden?
Ja.. In.ID - Können wir erkennen es auch die Verwendung von xPath-oder ID?
Sie können versuchen, xpath, sicher. Es wäre wohl so etwas wie
Ja, es ist auf der Seite vorhanden. Wenn ich entfernen Sie die oben warten, code, es ist die Identifizierung, dass element.
Wann tritt das werfen dieser Ausnahme? nach 10 Sekunden?
Ja.. In.ID - Können wir erkennen es auch die Verwendung von xPath-oder ID?
Sie können versuchen, xpath, sicher. Es wäre wohl so etwas wie
By.xpath("//[@id='myDynamicElement']")
. Aber das sollte identisch sein mit der ID-Suche; auch wenn Sie das element außerhalb der warte, es sollte keinen Unterschied machen bei allen. Interessanterweise ist dieses Beispiel scheint nahezu identisch mit dem Beispiel auf docs.seleniumhq.org/docs/... so dass die syntax sollte korrekt sein; es ist wahrscheinlich etwas über die Seite.InformationsquelleAutor user2467785 | 2013-10-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie zuweisen, warten bis die variable myDynamicElement. Wenn Sie nicht die WebElement variable etwas zu tun, Selen werfen, die timeout exception. Wenn Sie wollen einfach nur zu warten, für das element vorhanden sein, dann gibt es keine Notwendigkeit, weisen Sie es einem WebElement variable.
Wenn Sie zuweisen müssen, die variable für den späteren Einsatz dann etwas zu tun mit der element.
Ich habe gerade getestet, es selbst zu sehen, was er Sprach. Bei der Zuordnung der WebDriverWait auf eine variable, müssen Sie diese variable verwenden, oder es wirft die timeout exception. Vielleicht ein defekt, aber ich bin in der Lage zu reproduzieren, was er spricht und das Update ist zu nicht es einer Variablen zuweisen, oder verwenden Sie die variable.
Ich habe meine code - WebDriverWait warten = new WebDriverWait(myD, 10); warten.bis(ExpectedConditions.presenceOfElementLocated(Durch.xpath("//a[@name='footer_site_map']"))); Dieser code funktioniert sowohl in Chrome und FireFox-Browser, aber es funktioniert nicht auf IE10. Irgendeine Idee, warum dies passiert ist? Im Grunde versuche ich nur warten, bis das element auf der Seite geladen. Ich danke Ihnen allen für Ihre Hilfe.
Kein problem! Das ist viel besser Nutzung von WebDriverWait. IE10 kann es zu Problemen mit dem xpath. Wenn Sie können, verwenden Sie CSS-hier: Durch.cssSelector ("[name='footer_site_map']")
Dank NaviSaysListen . werde versuchen, dass zu.
InformationsquelleAutor NaviSaysListen
InformationsquelleAutor Ran Adler