Wie bewegen Sie die Maus über ein und klicken Sie auf ein unsichtbares element mit selenium webdriver?
Es ist ein unsichtbares element auf meiner HTML-Seite, die sichtbar wird, wenn ein mouse-hover ist getan auf dem element. Was ich zu tun Habe ist
- Bewegen Sie den Mauszeiger über das element
- Klicken Sie auf das element aus (zeigt es 4 Optionen)
- Klicken Sie auf eine der Optionen
Ich bin mit Java-API für selenium web driver und folgende ist, was ich habe versucht
Actions builder = new Actions(driver);
builder.moveToElement(MainMenuBTN).click().build().perform();
subMenuBTN.click();
- MainMenuBTN = element, das sichtbar wird, wenn Sie mit der Maus
über es - subMenuBTN = element, ausgewählt aus den Menü-Optionen
angezeigt werden
Was passiert ist, ist, die Taste() auf MainMenuBTN generiert ElementNotVisible Ausnahme.
Ich habe versucht, nach um dies zu vermeiden, aber hat nicht funktioniert.
Actions builder = new Actions(driver);
builder.moveToElement(mainMenuBTN).build().perform();
builder.click();
subMenuBTN.click();
Einen Hinweis : mainMenuBTN und subMenuBTN sind WebElements generiert
driver.findElement(By.xpath("xpath_string"))
Bin ich etwas fehlt? Hilfe dankbar !
Did u find keine Lösung für dieses? Für mich folgende code funktioniert :
WebElement menu = driver.findElement(by); Actions builder = new Actions(driver); builder.moveToElement(menu).build().perform(); WebDriverWait wait = new WebDriverWait(driver, 15);
Nachdem die sub-Menüs angezeigt werden, ich finde das element mit id und klicken Sie auf es. Leider funktioniert mit FF 25 und Selen 2.42.2. Wenn ich ein upgrade von FF, es funktioniert nicht wie erwartet.InformationsquelleAutor MePunekar | 2012-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
mithilfe von javascript Vollstrecker wie
Sie können über code zu jeder Zeit, es funktioniert sogar, wenn das element ist unsichtbar.
Eine andere option, als mit einem javascript? Auf einer anderen Anmerkung, können Sie mir sagen was ist der Fehler/problem in der obigen java-code?
Die über javascript funktionieren möglicherweise nicht in mein Szenario, denn die Elemente sind nur verfügbar, von xPath-und nicht-ids. Ids werden dynamisch generiert und können daher nicht verwendet werden, die zum suchen eines Elements
Aber das ist nur klicken Sie auf versteckte url oder link. Nicht öffnen dropdown-Menü bei mouseover. ich brauche, um das Menü zu öffnen mit der Maus über
InformationsquelleAutor Amareswar
Gut, nachdem Sie durch Ihre Fragen mehrmals und ändern Sie meine Antworten oft ich gehe mit -
Problem - was habe ich aus dem original-code -
Müssen Sie bewegen Sie den cursor auf die mainMenuBTN (die ist sichtbar nicht das element, das sichtbar wird, wenn Sie mit der Maus über Sie ) und subMenuBTN wird dann angezeigt, welche Sie klicken müssen.
Nur Bearbeiten, um Ihre ursprünglichen code pro Sie mir wird das hinzufügen einer Anweisung, um den cursor zu bewegen, um Ihre subMenuBTN, bevor Sie darauf klicken. Dieser Weg funktioniert gut für mich, wenn ich auf Unterpunkt.
Bitte lassen Sie mich wissen, wenn dies der Fall ist.
build().perform()
nicht auf die mainMenuBTN. Aber warum müssen Sie bewegen Sie den Mauszeiger auf die mainMenuBTN??? Können Sie nicht klicken Sie es direkt?Leider kann ich nicht klicken Sie auf die Schaltfläche Hauptmenü. Die hover over event die Schaltfläche aktiviert, dann muss ich klicken Sie auf die Schaltfläche öffnen Sie ein Untermenü.
auch ich Stand vor diesem Problem. Deine Lösung hat funktioniert !!
InformationsquelleAutor some_other_guy
Ihre Aktionen builder sieht etwas falsch mit mir. Hier ist ein Beispiel, das ich verwenden:
Ob dieser native Aktion zeige ich oben nicht funktioniert, dann betrachten Sie das schreiben einer nicht-nativen JavascriptExeucutor Methode zu tun, die schweben.
InformationsquelleAutor djangofan
Funktioniert es unter Chrome, aber nicht in FF
InformationsquelleAutor ilya