Bewegen Sie den Mauszeiger über element auf und warten mit Selenium mit Java WebDriver
EDIT: ich dachte So einen einfachen Weg zu bewegen Sie den Mauszeiger über das element, aber ich will warten auf ein Ergebnis, um pop-up. Die Chrom-webdriver mit der Maus auf das element, und fährt zu schnell für mich, um in der Lage sein zu sehen, text. Wie bekomme ich es bleiben schwebte, bis der text erscheint? Ich schaute auf Wait() und bis(), aber ich kann nicht scheinen, um Sie zu bekommen, um richtig zu arbeiten (ich nehme an, das ist weil ich bin nicht wirklich zu warten, für einen boolean auf true in den code. Es sei denn, jemand hat einige Vorschläge?). Hier ist, was ich bisher...
WebDriver driver = getWebDriver();
By by = By.xpath("//*[@pageid='" + menuItem + "']");
Actions action = new Actions(driver);
WebElement elem = driver.findElement(by);
action.moveToElement(elem);
action.perform();
Nochmals vielen Dank an alle!
Cheers.
- Sind Sie immer Fehler? Was passiert mit deinem aktuellen code? Schwebt es über Sie so schnell, dass das pop-up verschwindet?
- Welchen browser verwenden Sie?
- Ich bin mit den Chrome-Treiber. Die Fehlermeldung, die ich bekomme ist, dass das element nicht gefunden, aber ich weiß, dass ich das richtige element. Den Befehl einfach mal aus. Ich sehe kein popup, leider.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie sich nicht darauf verlassen, schläft so sollten Sie versuchen, diese:
Haben Sie eine fülle von Methoden in der
ExpectedConditions
Klasse.Hier einige Infos:
http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html
Hoffe, Sie finden diese nützlich.
Scheint an dem Punkt war ich an der Methode war einfach nicht warten, lange genug, um den text sichtbar zu werden. Indem ein einfaches sleep-Funktion zu Ende, es war genau das was ich brauchte.
Hoffe, das hilft anderen in einer ähnlichen binden!
Prost!
Ich habe auch ein problem bei Euch ähnlich.
Habe ich es gelöst.
Ja, ich denke, wir können insert delay oder eine Funktion verwenden, (...).findElements(...).size() , für eine bessere Leistung. Wenn das Ergebnis der Funktion ist nicht 0, dann können wir auf oder tun Sie sonst, um das element.
Laut "https://code.google.com/p/selenium/wiki/GettingStarted" und "WebDriver: prüfen, ob ein element vorhanden ist?", können wir insert delay und verwenden Sie die Funktion, um die Existenz des Elements, die wir wollten.
Warten Sie, bis das element wollte angezeigt oder die Zeit abgelaufen ist~!
Unten ist der code in C# für die Maus-Hover.
Den obigen code verwendet im wesentlichen die Funktion MovToElement von Aktionen der Klasse und dann nimmt das element Lage(xpath) und bekommt sein Attribut, das vielleicht wie (alt, Titel etc) und speichert Sie in einem string. Höher dieser Wert ist, verglichen mit dem text . Wenn der Boolesche Wert true, dann wird Ihr test-pass.