Что такое htmlunitdriver и когда его использовать ?

Спасибо, заработало :slight_smile:

Теперь вижу да.

Но остались вопросы, помогите разобраться

  1. все-таки как правильно
options.addArguments("--headless");

или

options.addArguments("headless");

Видел 2 варианта написания.

  1. options.addArguments("window-size=1200x600");
    Что это за окно и зачем оно? Я все равно никаких окон то не видел браузера

  2. System.out.println(a.getAttribute("textContent"));
    Что такое textContent?
    Я какие-то еще значения мог поставить вместо textContent? Какие например?

  3. В каких случаях на практите реально используется headless тестирование и что мне еще надо знать про это? Я просто сейчас пытаюсь максимально выучить Селениум, чтобы устроиться на работу. Принциа headless с вашей помощью участников форума стал более менее понятен, но вот остались детали.

  1. –headless так правильно
  2. options.addArguments(“window-size=1200x600”);, для примера открой любой сайт у которого при изменении размера окна браузера будет меняться интерфейс, т.е. некоторые элементы будут группироваться в меню и тому подобное. В этом случае и имеет смысл менять размеры окна браузера, да ты не видишь саму графическую оболочку, но при этом сайт будет открыт в том размере, которое ты указал и в этом разрешении элементы будут представлены в другом виде.
  3. Да ты можешь подставить как атрибуты этого элемента так и его свойства
    Чтобы в хроме просмотреть их жми F12 потом инспетируй любой элемент на странице и переходи на вкладку свойства на панели инструментов на скриншоте все отметил.
  4. Просто браузер запускается без графической оболочки вот и все. Если запускать на CI Jenkins, то там и без хедлес он будет запускаться без графической оболочки.
1 лайк

Спасибо за объяснение

Добрый день,
Извините, немного вмешаюсь

  1. Просто браузер запускается без графической оболочки вот и все. Если запускать на CI Jenkins, то там и без хедлес он будет запускаться без графической оболочки.

Откуда такая информация про Jenkins?
гоняем на виртуалке через Jenkins тесты в IE и Chrome, режим хедлесс не стоит. Снимаем скриншоты всего экрана.

Для тех кто будет смотреть эту тему в 2019 - HTMLUnitDriver уже не актуален, используйте Chrome Headless или Firefox Headless

2 лайка

Если виртуальная машина на Windows - то там все будет готово для запуска графических приложений. На том же линуксе без юай - нужны всякие xvfb

почему не актуален
вполне подходит для целей парсинга и проверки технический информации

Он очень плохо работает с тяжелым JS на странице, и очень часто и много бывали случаи когда современные приложения рендерились совершенно не так и сыпали множество ошибок.

С Chrome Headless можно быть практически уверенным что js отработает так же как и в обычном режиме Chrome.

Я имел ввиду не использование его вместо хрома
и не UI тесты

а например нужно проверить какую-то информацию, линки и тд
закинул бинарник/зависимость и все - это будет работать железно