Работа с событиями в Selenium выпадающее меню

выпадающее меню подскажите как нажать на вкладку “сравнение”
сайт https://www.ozon.ru
image

так не работает:

 builder.moveToElement(driver.findElement(By.xpath("//*[@id=\"__layout\"]/div[1]/div[1]/header[1]/div[2]/div[3]/div[1]/div[1]")))
                .click(driver.findElement(By.xpath("//*[@id="__layout"]/div[1]/div[1]/header[1]/div[2]/div[3]/div[1]/div[1]/div[2]/div[2]/a[1]")));
        Action mouseoverAndClick = builder.build();
        mouseoverAndClick.perform();

Конечно не работает, что это за дичь в локаторах.

3 лайка

используйте более адекватные локаторы, тем более что они там есть.

1 лайк

Первый элемент можно найти по
//div[@class=“my-ozon”]
со вторым сложнее, но это точно
узел ссылки (“а”) с href="/context/compare/"

@FindBy(css = “div.popup a:nth-of-type(1)”)
protected WebElement compareMenuOption;

@FindBy(css = “div[data-test-id=header-my-ozon-icon]”)
protected WebElement myOzonButton;

Actions actions = new Actions(getDriver());
actions.moveToElement(myOzonButton);
Action moveTo = actions.build();
moveTo.perform();

compareMenuOption.click();

1 лайк