繁体   English   中英

如何在PHP中包含动态Javascript页面的静态HTML结果?

[英]How to include the static HTML results of a dynamic Javascript page in PHP?

我有一个小脚本,可以使用Javascript从另一个站点提取HTML。

我想将静态HTML包含在PHP页面中, 在最终显示的PHP页面中出现任何 Javascript代码。

我尝试在PHP页面中包含Java代码的文件,但是它仅包含实际的Java脚本,而不包含Java脚本的结果

那我该怎么做呢?

您将需要获取页面,在其中执行JavaScript,然后从生成的DOM中提取所需的数据。

通常的方法是使用诸如Selenium之类的Web自动化工具。

你根本做不到。

您需要了解PHP和Javascript在不同的地方运行,PHP在服务器上,而Javascript在客户端上。

您唯一的解决方案是更改所有操作的方式,并使用PHP中的“ file_get_contents(url)”来获取与JavaScript相同的内容。 这样,就不再有JavaScript,您仍然可以使用遥远的内容预处理页面。

您将无法直接在PHP中执行此操作,因为您需要运行Javascript代码。

我建议将URL(以及任何必需的操作,例如click事件等)传递给无头的浏览器(例如PhantomZombie) ,并在JS引擎完成工作后从中捕获DOM。

您也可以使用一个真正的浏览器,但是当然您不需要使用UI,它实际上可能会妨碍您尝试做的事情,因此无头浏览器可能会更好。

这种事情通常会用于站点的自动测试(即功能测试)。

有一个名为Mink的PHP工具,可以从PHP程序中运行这些类型的脚本。 它旨在编写测试脚本,但我想您可以将其用于您的目的。

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM