使用QueryPath执行javascript
我正在使用QueryPath刮取一些HTML文件。在这些HTML文件中,有一些包含在HTML注释中的JS脚本。JS将生成一些文本内容显示在屏幕上,因此我无法在不执行JS脚本的情况下找到(刮取)文本内容。使用QueryPath执行javascript,javascript,querypath,Javascript,Querypath,我正在使用QueryPath刮取一些HTML文件。在这些HTML文件中,有一些包含在HTML注释中的JS脚本。JS将生成一些文本内容显示在屏幕上,因此我无法在不执行JS脚本的情况下找到(刮取)文本内容。 是否可以使用QueryPath执行JS脚本?您是否尝试将JS脚本附加到html页面 qp(QueryPath::HTML_STUB)->append('<script type="text/javascript" language="javascript">alert("Hel
是否可以使用QueryPath执行JS脚本?您是否尝试将JS脚本附加到html页面
qp(QueryPath::HTML_STUB)->append('<script type="text/javascript" language="javascript">alert("Hello!");</script>')->writeHtml();
qp(QueryPath::HTML_STUB)->append('alert(“Hello!”);')->writeHtml();
目前,在QueryPath中无法执行JavaScript。原因是PHP既不能访问浏览器窗口
对象,也不能访问JavaScript解释器
我所知道的最好的替代方法是使用Selenium(基本上是一个浏览器遥控器)运行浏览器,然后使用其中一个PHP Selenium库来获得结果。当然,如果需要,您可以将QueryPath与PHP Selenium库一起使用
下面是PHP Selenium库的一个不错的概述:请您花点时间来阐述这个问题好吗?请详细说明具体要求?到目前为止你做了什么?有片段吗?是的,请澄清问题。这几乎没有提供足够的上下文来正确回答。对于这个不清楚的问题,很抱歉@纳文我已经编辑了我的问题。谢谢你的关注。我还没试过,但我觉得这对我很有效。我找到了一种提取javascript内容的方法。我使用这个
next('div#id')->find('script[type=“text/javascript”]”)
进行提取。在那些DIV元素中有几个脚本,但我只能得到第一个。您知道如何获取DIV元素中的所有javascript内容吗?