Żadna z tych odpowiedzi nie działa, gdy próbujesz wykonać następujące czynności:
- Najedź kursorem na element menu.
- Znajdź ukryty element, który jest dostępny TYLKO po najechaniu kursorem.
- Kliknij pozycję podmenu.
Jeśli wstawisz polecenie „wykonaj” po elemencie moveToElement, zostanie ono przeniesione do elementu, a pozycja podmenu jest wyświetlana przez krótki czas, ale nie jest to najechanie kursorem. Ukryty element natychmiast znika, zanim można go znaleźć, powodując wyjątek ElementNotFoundException. Próbowałem dwóch rzeczy:
Actions builder = new Actions(driver);
builder.moveToElement(hoverElement).perform();
builder.moveToElement(clickElement).click().perform();
To nie zadziałało dla mnie. Pracowały dla mnie:
Actions builder = new Actions(driver);
builder.moveToElement(hoverElement).perform();
By locator = By.id("clickElementID");
driver.click(locator);
Używając Akcji do najechania kursorem i standardowego kliknięcia WebDriver, mogłem najechać kursorem, a następnie kliknąć.