我正在使用QueryPath来抓取一些HTML文件。在这些HTML文件中,有一些JS脚本包含在HTML注释中。 JS将生成一些要显示在屏幕上的文本内容,因此我无法在不执行JS脚本的情况下找到(删除)文本内容。
是否可以使用QueryPath执行JS脚本?
答案 0 :(得分:0)
您是否尝试过将您的JS脚本附加到html页面。
qp(QueryPath::HTML_STUB)->append('<script type="text/javascript" language="javascript">alert("Hello!");</script>')->writeHtml();
答案 1 :(得分:0)
目前,无法在QueryPath中执行JavaScript。原因是因为PHP无法访问浏览器window
对象或JavaScript解释器。
我所知道的最好的选择是使用Selenium(基本上是浏览器远程控制器)来运行浏览器,然后使用其中一个PHP Selenium库来获取结果。当然,如果需要,您可以将QueryPath与PHP Selenium库一起使用。
以下是PHP Selenium库的一个不错的概述:http://css.dzone.com/articles/selenium-2-php-code