Есть ли безгласная библиотека браузера для PHP? Хотелось бы, чтобы в нем встроен JS-движок. FOSS.
PHP Headless Browser?
Ответ 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.
Ответ 5
Хорошо, кто-то может создать безгласный веб-браузер, работающий на PHP, в комплекте с Поддержка Javascript, реализованная в PHP!
Ответ 6
Если вы не ограничены PHP или используете системные вызовы, проверьте xvfb, это буфер виртуального фрейма, и вы можете использовать его для запуска браузеров на базе Linux (firefox) с полной функциональностью JS. Вы можете даже вытащить данные на экране и записать его в файл.
Я делал это раньше, когда собираю определенные показатели.
Ответ 7
Используйте драйвер HTMLUnit, который является частью проекта Selenium. WebDriver основан на Webkit (я считаю), поэтому использование HTMLUnit (от Selenium) в основном является решением Java. Затем я считаю, что вы можете вызывать Java-код из PHP, хотя я не уверен, что детали этого процесса работают.