t.me/atinfo_chat Telegram группа по автоматизации тестирования

Не находит элемент на станице при помощи Action

Теги: #<Tag:0x00007f9afa0e2328> #<Tag:0x00007f9afa0e2170> #<Tag:0x00007f9afa0e2030>

Добрый день товарищи! Есть вопрос насчет нахождения элемента при движении мыши. Пример такой

Есть блок с пользователем, если навести на него, то появляется “плюс” для добавления этого пользователя в группу конференции см. скрин

Блок

При наведении на юзера

Значит воспользовался Action

public void setChoosePeopleConference() throws InterruptedException{

    Actions action = new Actions(getDriver());
    action.moveToElement(AddUser);
    Thread.sleep(2000);
    action.moveToElement(AddUserAdd);
    action.click();
    action.perform();

    clickOn(ApplyPeopleConference);
}

Локатор AddUser - наведение на блок
Локатор AddUserAdd - наведение на блок и клик на “+”

Вот … суть проблемы ,при запуске теста, на первый элемент не находит, следовательно на “+” не кликает. Подскажите в чем может быть проблема

как вариант - грязный хак: принудительное отображение кнопки “+” с помощью JS’а
а по теме: данные вопросы проще решаются, если поделиться HTML кодом / линкой на страницу (если она есть в паблике)

честно говоря, одного кода мало… хорошо бы паблик пример
попробуйте делать action.moveToElement(AddUser); на топовый div с юзером, т.е. на самый верхний div прямоугольной карточки юзера.

  • еще один из вариантов - навестить на элемент с помощью JS (document.getElementById(“elementID”).scrollIntoView():wink:

Решил проблему, оказалось что этот метод Action отрабатывает, но… следует правильно выбрать локатор, насколько я пробовал через firepath (firebug), не получилось, но благодаря [Test Recorder]
[1] [1]: https://chrome.google.com/webstore/detail/test-recorder-css-selecto/cajiblmjgnmllbkmlgcnkhafngdjfoci
получилось найти локатор cssSelector