|
|
|
Элементы Selenium аналогичные jsoup
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, делаю первые шаги с Selenium и возник такой вопрос. Можно ли преобразовать объекты классов Selenium в объекты классов jsoup. Интересуют конкретно как в jsoup - Document, Elements и Element. Пока даже не разобрался как называются в Selenium аналоги этих классов из jsoup. Т.к. слижком уж много классов в Селениуме. 1. Подскажите аналоги этих классов. 2. Как их(если это возможно) преобразовать в элементы-аналоги jsoup. Т.к. есть отлаженный код на jsoup, но ему не достаёт возможностей Селениума(а именно залогинивания и работы с динамически загружаемыми элементами). 3. Есть ли возможность при сохранении сессии, работать с Селениумом, без запуска браузера и эмуляции действий пользователя в нём? Использую selenium-server-standalone - как рекомендуется в примерах, но он постоянно запускает браузер, а это не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 23:37 |
|
||
|
Элементы Selenium аналогичные jsoup
|
|||
|---|---|---|---|
|
#18+
ali_tashЕсть ли возможность при сохранении сессии, работать с Селениумом, без запуска браузера и эмуляции действий пользователя в нём? Использую selenium-server-standalone - как рекомендуется в примерах, но он постоянно запускает браузер, а это не нужно.цитатаSelenium -- это инструмент для автоматизированного управления браузерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 12:33 |
|
||
|
Элементы Selenium аналогичные jsoup
|
|||
|---|---|---|---|
|
#18+
ali_tashПока даже не разобрался как называются в Selenium аналоги этих классов из jsoup. Т.к. слижком уж много классов в Селениуме. https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 12:39 |
|
||
|
Элементы Selenium аналогичные jsoup
|
|||
|---|---|---|---|
|
#18+
ali_tash1. Подскажите аналоги этих классов. А они там есть? WebElement разве что. А так, можно с DOM браузера работать запуская любой JavaScript. ali_tash2. Как их(если это возможно) преобразовать в элементы-аналоги jsoup. Т.к. есть отлаженный код на jsoup, но ему не достаёт возможностей Селениума(а именно залогинивания и работы с динамически загружаемыми элементами). Переписать на JavaScript не проще? Запускать его через Selenium. ali_tash3. Есть ли возможность при сохранении сессии, работать с Селениумом, без запуска браузера и эмуляции действий пользователя в нём? Использую selenium-server-standalone - как рекомендуется в примерах, но он постоянно запускает браузер, а это не нужно. Да, там есть что-то типа headless mode. Но оно у нас реально завелось только на PhantomJS. То есть совсем без браузера нельзя. Selenium это обертка над браузером и именно поэтому в нём всё так просто работает. Но можно браузер попытаться спрятать от глаз пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 12:46 |
|
||
|
Элементы Selenium аналогичные jsoup
|
|||
|---|---|---|---|
|
#18+
Вот нашёл у драйвера селениума driver.getPageSource() - возвращает код страницы в виде строки. Пока мне будет достаточно из этой строки создать объект Document jsoupa. Как это сделать ? А в своём готовом коде на jsoup - просто сначала грузить динамическую страницу на селениуме и этот DOM - передавать на обработку jsoup. Так в принципе вообще изменения в существующем коде будут минимальны. Ещё остаётся открытым вопрос с сессиями. Т.е. я могу залогиниться на селениуме. Но пока смотрю не понял как удержать сессию. Т.е. в моём коде на jsoup - я в нужных местах просто делаю Document doc= Jsoup.connect(currPage).userAgent(userAgent).timeout(10000).get(); И каждый объект doc - это просто загруженная страница. А теперь нужно один раз заголиниться и удерживая сессию, получать DOM. Вот этот момент не понятен - использовать глобальную переменную WebDriver или как ? Также не понял как грузить динамический контент(который загружается или при прокрутке страницы вниз или по нажатию кнопки ещё(не статичная пангинация)) ? Каким кодом в селениум отслеживать что страница обновилась и как указать что страницу нужно прокрутить вниз(для динамической загрузки контента). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 05:40 |
|
||
|
Элементы Selenium аналогичные jsoup
|
|||
|---|---|---|---|
|
#18+
ali_tash, Так с загрузкой DOM в jsoup, полученного из селениума разобрался. Оказалось очень просто. Document doc = Jsoup.parse(driver.getPageSource()); Теперь остаётся открытым вопрос с сессией селениума. Т.е. в разных местах кода, раньше jsoup вызывал Jsoup.connect. А теперь надо поставить Jsoup.parse(driver.getPageSource()); - но чтобы driver - был тем самым залогиненным объектом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 05:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39387245&tid=2123233]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 310ms |

| 0 / 0 |
