Селен - Как захватить все элементы веб-страницы и связанные локаторы на странице? - PullRequest
3 голосов
/ 20 июля 2011

Какие команды Java / Selenium можно использовать для захвата / получения / вывода всех элементов и связанных локаторов элементов для одной веб-страницы?Selenium IDE позволяет проверять один элемент за раз.Это проблема, если у вас есть тысячи элементов для автоматизации.Есть ли инструмент или команда Java / selenium, которые я могу использовать для одновременного получения всех объектов / элементов на моей веб-странице, а затем, возможно, настроить вывод в соответствии с моими потребностями?Если у вас есть опыт работы с SilkTest, я бы хотел что-то аналогичное созданию оконных объявлений в SilkTest.Инструмент декларации окна записи SilkTest собирает информацию о тегах / свойствах / локаторах для всех объектов / элементов на странице и позволяет вставить код в вашу библиотеку или включаемый файл.Таким образом, одним или двумя щелчками мыши я могу захватить и определить десятки объектов в SilkTest.Есть ли инструмент или команда, которая делает что-то подобное для Selenium?Я использую Java, поэтому я хотел бы получить любые примеры на Java.Благодарю.

Ответы [ 4 ]

4 голосов
/ 18 августа 2011

Использование findElementsByXPath и указание «Все элементы» работало для меня.Например,

findElementsByXPath("//*")

http://www.w3schools.com/xml/xpath_syntax.asp

0 голосов
/ 10 мая 2018

Существует расширение Chrome - Selenium Page Object Generator, который генерирует класс .java, имеющий все локаторы страницы для объектной модели страницы. Это довольно круто. Проверьте это !!

https://chrome.google.com/webstore/detail/selenium-page-object-gene/epgmnmcjdhapiojbohkkemlfkegmbebb

0 голосов
/ 26 мая 2017
List<WebElement> el = driver.findElements(By.xpath("//*"));
            int count=0;
            for ( WebElement e : el ) {
             System.out.println( e.getTagName()+"    "+e.getText());

             count++;

            }
          System.out.println(count );
0 голосов
/ 20 июля 2011

Возможно, вы не найдете никакой «функции», которая поставляется вместе с селеном для этого. Вам придется использовать некоторые инструменты, такие как

Firebug, веб-разработчик

(оба являются расширениями Firefox), чтобы найти путь локаторов xpath / css, который вам нужен. Кроме того, зачем вам нужно "все" элементы? Шансы использовать «все» элементы на странице могут быть очень меньше, я чувствую Самый простой способ (который, я думаю, вы уже делаете) - использовать IDE для создания прототипа вашего тестового примера, а затем использовать Firebug или аналогичные инструменты для оптимизации xpath.

...