Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Элементы Selenium аналогичные jsoup / 6 сообщений из 6, страница 1 из 1
18.01.2017, 23:37
    #39387245
ali_tash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементы Selenium аналогичные jsoup
Здравствуйте, делаю первые шаги с Selenium и возник такой вопрос.
Можно ли преобразовать объекты классов Selenium в объекты классов jsoup.
Интересуют конкретно как в jsoup - Document, Elements и Element.

Пока даже не разобрался как называются в Selenium аналоги этих классов из jsoup.
Т.к. слижком уж много классов в Селениуме.

1. Подскажите аналоги этих классов.
2. Как их(если это возможно) преобразовать в элементы-аналоги jsoup. Т.к. есть отлаженный код на jsoup, но ему не достаёт возможностей Селениума(а именно залогинивания и работы с динамически загружаемыми элементами).
3. Есть ли возможность при сохранении сессии, работать с Селениумом, без запуска браузера и эмуляции действий пользователя в нём? Использую selenium-server-standalone - как рекомендуется в примерах, но он постоянно запускает браузер, а это не нужно.
...
Рейтинг: 0 / 0
19.01.2017, 12:33
    #39387539
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементы Selenium аналогичные jsoup
ali_tashЕсть ли возможность при сохранении сессии, работать с Селениумом, без запуска браузера и эмуляции действий пользователя в нём? Использую selenium-server-standalone - как рекомендуется в примерах, но он постоянно запускает браузер, а это не нужно.цитатаSelenium -- это инструмент для автоматизированного управления браузерами.
...
Рейтинг: 0 / 0
19.01.2017, 12:39
    #39387543
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементы Selenium аналогичные jsoup
ali_tashПока даже не разобрался как называются в Selenium аналоги этих классов из jsoup.
Т.к. слижком уж много классов в Селениуме. https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html
...
Рейтинг: 0 / 0
19.01.2017, 12:46
    #39387550
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементы Selenium аналогичные jsoup
ali_tash1. Подскажите аналоги этих классов.

А они там есть? WebElement разве что. А так, можно с DOM браузера работать запуская любой JavaScript.

ali_tash2. Как их(если это возможно) преобразовать в элементы-аналоги jsoup. Т.к. есть отлаженный код на jsoup, но ему не достаёт возможностей Селениума(а именно залогинивания и работы с динамически загружаемыми элементами).

Переписать на JavaScript не проще? Запускать его через Selenium.

ali_tash3. Есть ли возможность при сохранении сессии, работать с Селениумом, без запуска браузера и эмуляции действий пользователя в нём? Использую selenium-server-standalone - как рекомендуется в примерах, но он постоянно запускает браузер, а это не нужно.
Да, там есть что-то типа headless mode. Но оно у нас реально завелось только на PhantomJS. То есть совсем без браузера нельзя. Selenium это обертка над браузером и именно поэтому в нём всё так просто работает. Но можно браузер попытаться спрятать от глаз пользователя.
...
Рейтинг: 0 / 0
23.01.2017, 05:40
    #39389250
ali_tash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементы Selenium аналогичные jsoup
Вот нашёл у драйвера селениума driver.getPageSource() - возвращает код страницы в виде строки.
Пока мне будет достаточно из этой строки создать объект Document jsoupa.
Как это сделать ?

А в своём готовом коде на jsoup - просто сначала грузить динамическую страницу на селениуме и этот DOM - передавать на обработку jsoup. Так в принципе вообще изменения в существующем коде будут минимальны.

Ещё остаётся открытым вопрос с сессиями.
Т.е. я могу залогиниться на селениуме. Но пока смотрю не понял как удержать сессию.
Т.е. в моём коде на jsoup - я в нужных местах просто делаю Document doc= Jsoup.connect(currPage).userAgent(userAgent).timeout(10000).get();
И каждый объект doc - это просто загруженная страница.
А теперь нужно один раз заголиниться и удерживая сессию, получать DOM.
Вот этот момент не понятен - использовать глобальную переменную WebDriver или как ?

Также не понял как грузить динамический контент(который загружается или при прокрутке страницы вниз или по нажатию кнопки ещё(не статичная пангинация)) ?
Каким кодом в селениум отслеживать что страница обновилась и как указать что страницу нужно прокрутить вниз(для динамической загрузки контента).
...
Рейтинг: 0 / 0
23.01.2017, 05:54
    #39389252
ali_tash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементы Selenium аналогичные jsoup
ali_tash,

Так с загрузкой DOM в jsoup, полученного из селениума разобрался.
Оказалось очень просто.
Document doc = Jsoup.parse(driver.getPageSource());

Теперь остаётся открытым вопрос с сессией селениума.
Т.е. в разных местах кода, раньше jsoup вызывал Jsoup.connect.
А теперь надо поставить Jsoup.parse(driver.getPageSource()); - но чтобы driver - был тем самым залогиненным объектом.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Элементы Selenium аналогичные jsoup / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]