PHP Headless Browser?

Есть ли безгласная библиотека браузера для PHP? Хотелось бы, чтобы в нем встроен JS-движок. FOSS.

Ответ 1

PhantomJS - http://phantomjs.org/

PhantomJS - это безгласный WebKit с API JavaScript. Он имеет быструю и родную поддержку для различных веб-стандартов: обработка DOM, селектор CSS, JSON, Canvas и SVG.

Вы можете связать его с чем-то вроде php-PhantomjsRunner (теперь не рекомендуется), если вы хотите или испечь свой собственный.

Когда вы настроитесь и готовы начать тестирование с помощью PhantomJS, выберите один из различных Тестирование рамок на вашем удаление.

Недавно я также встретил этот учебник от tutsplus, если он поможет кому-либо.

Ответ 2

Отъезд mink и поддерживает zombie как back-end.

Это выглядит неплохо и, кажется, хорошо поддерживается.


Изменить:

К сожалению, php не имеет встроенного интерпретатора javascript; поэтому, если вы ищете чистую PHP-версию, включая поддержку javascript, в настоящее время вы ее не найдете. Для безголовых с поддержкой javascript вам придется полагаться на что-то вроде node.js или phantomjs на back-end.

Я уверен, что вы уже видели их, но для других вариантов, которые либо возглавляют, либо не поддерживают javascript, Mink other backends являются заслуживает внимания.

Ответ 3

Звучит так, как вам нужно http://seleniumhq.org/, который также можно использовать с PHPUnit для запуска модульных тестов.

Также посмотрите SimpleTest Browser.

Ответ 4

Goutte - простой браузер без браузера для PHP. https://github.com/fabpot/Goutte

К сожалению, он не поддерживает JS.

Ответ 6

Если вы не ограничены PHP или используете системные вызовы, проверьте xvfb, это буфер виртуального фрейма, и вы можете использовать его для запуска браузеров на базе Linux (firefox) с полной функциональностью JS. Вы можете даже вытащить данные на экране и записать его в файл.

Я делал это раньше, когда собираю определенные показатели.

Ответ 7

Используйте драйвер HTMLUnit, который является частью проекта Selenium. WebDriver основан на Webkit (я считаю), поэтому использование HTMLUnit (от Selenium) в основном является решением Java. Затем я считаю, что вы можете вызывать Java-код из PHP, хотя я не уверен, что детали этого процесса работают.