Есть ли браузер без браузера для PHP? Хотелось бы, чтобы в нем встроен JS-движок. FOSS предпочтительнее.
PhantomJS – http://phantomjs.org/
PhantomJS является безглавым WebKit с API JavaScript. Он имеет быструю и родную поддержку для различных веб-стандартов: обработка DOM, селектор CSS, JSON, Canvas и SVG.
Вы можете связать его с чем-то вроде php-PhantomjsRunner (теперь устаревшим), если хотите или испечь свой собственный .
Когда вы настроитесь и готовы начать тестирование с помощью PhantomJS, выберите одну из различных схем тестирования в вашем распоряжении.
Недавно я также наткнулся на этот учебник от tutsplus, если он поможет кому угодно.
Проверьте норку, и это поддержка зомби в качестве back-end.
Это выглядит неплохо и, похоже, хорошо поддерживается.
Изменить :
К сожалению, php не имеет встроенного интерпретатора javascript; поэтому, если вы ищете чистую PHP-версию, включая поддержку javascript, в настоящее время вы ее не найдете. Для безголовых с поддержкой javascript вам придется полагаться на что-то вроде node.js или phantomjs на back-end.
Я уверен, что вы уже видели их, но для других вариантов, которые либо возглавляют, либо не поддерживают поддержку javascript, другие бэкэнды Минка заслуживают внимания.
Вам кажется, что вам нужно http://seleniumhq.org/, которое также можно использовать с PHPUnit для запуска модульных тестов.
Также взгляните на SimpleTest Browser .
Goutte – простой браузер без браузера для PHP. https://github.com/fabpot/Goutte
К сожалению, он не поддерживает JS.
Ну, кто-то может создать безгласный веб-браузер без надзора, работающий на PHP, в комплекте с поддержкой Javascript, реализованной на PHP !
Если вы не ограничены PHP или используете системные вызовы, проверьте xvfb, это буфер виртуального фрейма, и вы можете использовать его для запуска браузеров на базе Linux (firefox) с полной функциональностью JS. Вы даже можете забрать данные на экране и записать его в файл.
Я делал это раньше, когда собирал конкретные показатели.
Используйте драйвер HTMLUnit , который является частью проекта Selenium. WebDriver основан на Webkit (я считаю), и поэтому использование HTMLUnit (из Selenium) в основном является решением Java. Тогда, я считаю, вы можете вызывать Java-код из PHP, хотя я не уверен, что детали этого процесса работают.