Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何D/L一个web站点并处理其内容(但仅在JS操作DOM之后)?_Php_Javascript_Dom - Fatal编程技术网

Php 如何D/L一个web站点并处理其内容(但仅在JS操作DOM之后)?

Php 如何D/L一个web站点并处理其内容(但仅在JS操作DOM之后)?,php,javascript,dom,Php,Javascript,Dom,在服务器端,我想使用Curl下载一个远程网站,然后使用PHP解析出页面的特定部分。简单的东西,对吗?唯一的问题是,在开始解析页面之前,我需要等到DOM中发生JavaScript操作之后 有没有办法做到这一点 我想我需要的是某种服务器端应用程序/浏览器,它可以单独从命令行运行,并且能够执行JavaScript 我从来没有做过这件事,现在不知所措。当然有可能吗?您可能需要查看Selenium库。我只在Java中使用过它,但我相信还有一个php版本。另外还有一个单独的firefox插件(seleniu

在服务器端,我想使用Curl下载一个远程网站,然后使用PHP解析出页面的特定部分。简单的东西,对吗?唯一的问题是,在开始解析页面之前,我需要等到DOM中发生JavaScript操作之后

有没有办法做到这一点

我想我需要的是某种服务器端应用程序/浏览器,它可以单独从命令行运行,并且能够执行JavaScript


我从来没有做过这件事,现在不知所措。当然有可能吗?

您可能需要查看Selenium库。我只在Java中使用过它,但我相信还有一个php版本。另外还有一个单独的firefox插件(selenium ide),它的健壮性不如库,但它可能适合您的需要。Selenium将控制您的浏览器(firefox、chrome、ie),并允许您使用css/xpath选择器获取数据片段。Selenium更适合于大规模web应用程序测试,但它可以用于其他目的。我发现它非常有用,因为它允许您以用户访问站点的相同方式(即执行Javascript/CSS)通过代码访问站点。

您必须通过浏览器运行所有内容,或者以某种方式在代码中实现一个。如果你在Windows上,IE无疑可以通过COM来实现。否则,其他主流浏览器对嵌入式操作的支持就相当可怜了。你需要等到远程站点上的JSDOM操作吗?或者在调用PHP的您自己的站点上?