Здравствуйте!
Есть ли в Selenide возможность выполнить действие с в тэге ?
Приходится использовать конструкции типа:
executeJavaScript("return arguments[0].click()", $(By.cssSelector("area[alt=\"Академия\"]")));
Здравствуйте!
Есть ли в Selenide возможность выполнить действие с в тэге ?
Приходится использовать конструкции типа:
executeJavaScript("return arguments[0].click()", $(By.cssSelector("area[alt=\"Академия\"]")));
Конечно есть!
Это ведь то же самое, что и $("area[alt=\"Академия\"]").click();
Андрей, спасибо!
Извините, что я неудачно сформулировал свой вопрос.
Именно приведенную Вами конструкцию я и использовал при написании теста. Мой вопрос связан с тем, что Selenide, к сожалению, не работает с тегом map так, как ожидалось. Метод $(“area[alt="Академия"]”).click() не находит соответствующую область. А вот executeJavaScript(“return arguments[0].click()”, $(By.cssSelector(“area[alt="Академия"]”))) прекрасно отрабатывает.
Похоже, что Selenide наследует проблему из Selenium. Кстати ее нет в Selenium IDE. Причем, что интересно, экспорт теста из Selenium IDE дает тест Selenium c неработающей конструкцией обработки тега map:
(driver.findElement(By.cssSelector(“area[alt="Академия"]”)).click();).
Удалось найти следующее обсуждение в инете по данной теме:
https://groups.google.com/forum/m/#!topic/webdriver/R5z2ueNgfhY
В принципе конструкция с использованием javascript достаточно компактна, но хотелось бы сохранить красоту Selenide (в отличие от ее косноязычного, но тоже замечательного папаши Selenium ). Кроме того, я полностью согласен с Вами, что с не следует смешивать идеологически разные подходы к созданию тестов
([А.С.] “В принципе можно так делать. Но это действительно франкенштейн.” Тестирование Salesforce с помощью Selenide (вопросы-ответы) - Salesforce-Developer.ru).
создано
18 часов
последний ответ
17 часов
1
ответ
30
просмотров
2
пользователя
Привет!
Теперь понял проблему. Да, это проблема (ну или особенность) Selenium webdriver.
Предположу, что в Selenium IDE её нет потому, что Selenium IDE как раз и выполняет все команды через JavaScript.
Похоже, вашу проблему решит вот такая настройка: -Dselenide.click-via-js=true
.
Когда она включена, Selenide как раз совершает операцию click через JavaScript, а не вебдрайвер. Это как раз и было придумано для тех случаев, когда просто click не работает.
Класс!
$(“area[alt=“Академия”]”).click() заработал!
Спасибо!
Андрей, извините за вопрос, а где можно прочитать про возможные параметры (настройки) запуска Selenide и случаи (которые имелись в виду, когда Вы создавали эту настройку), когда просто click не работает?
Спасибо Вам большое!
Ждем Ваших новых публикаций и выступлений!
Удачи!