June 27th, 2018

Web scraper 3: PhantomJS last chance

Собрал из исходников PhantomJS. 

  • Версия 2.1.1 не собирается. В зависимостях Xcode.
  • Текущий релиз Xcode не совместим с системой. Предлагается апгрейд. Xcode 9.2 взлетает.
  • Установка тащит с собой qtbase 5.5. И падает на этой баге. Сделал бэкпорт коммита для 5.6 в 5.5. PhantomJS собран.
  • Запускаю phantomjs в режиме --webdriver=8910 --webdriver-selenium-grid-hub=127.0.0.1:4444.  Падает с ошибкой 
ghostdriver - main.fail
  • Делаю фикс hub_register.js. Он заводится.
  • Собираю тестовый пример и пускаю через Selenium standalone 3.8.1. Вместо фантома выбирается хром! В селениуме поддержку фантома торжественно отключили! 
  • https://github.com/SeleniumHQ/selenium/issues/5295 
  • https://github.com/vvo/selenium-standalone/issues/376
  • Откатываюсь до 3.7.1, пускаю тестовый пример.
  • Фантом стартует на левом порту, вебдрайвер слушает всегда порт 8910, даже если указать другой. Селениум ломится на левый порт фантома вместо порта вебдрайвера.
  • Пересборка ветки bleeding-edge, близкой к версии 2.5, падает на mongoose: 
Undefined symbols for architecture x86_64: "_mg_printf", "_mg_read", "_mg_start", "_mg_stop", "_mg_write"

Очевидно, эта ветвь тупиковая.