Выполнить JavaScript с помощью QueryPath - PullRequest
0 голосов
/ 03 августа 2011

Я использую QueryPath для очистки некоторых HTML-файлов.Внутри этих HTML-файлов есть несколько JS-скриптов, заключенных в HTML-комментарии.JS создаст текстовое содержимое для отображения на экране, поэтому я не могу найти (очистить) текстовое содержимое без выполнения сценария JS.
Возможно ли выполнить сценарий JS с помощью QueryPath?

Ответы [ 2 ]

0 голосов
/ 23 мая 2012

В настоящее время нет способа выполнить JavaScript в QueryPath.Причина в том, что PHP не имеет доступа ни к объекту браузера window, ни к интерпретатору JavaScript.

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

Вот хороший обзор библиотек PHP Selenium: http://css.dzone.com/articles/selenium-2-php-code

0 голосов
/ 03 августа 2011

Вы пытались просто добавить свой JS-скрипт на html-страницу.

qp(QueryPath::HTML_STUB)->append('<script type="text/javascript" language="javascript">alert("Hello!");</script>')->writeHtml();
...