可以执行JavaScript的服务器端浏览器

时间:2010-01-26 20:10:48

标签: java php javascript ruby browser

是否有任何编程库可以解析HTML文档,执行JavaScript然后允许我导航DOM?这需要在服务器端执行,而不是在客户端执行。任何语言都可以,但Java,PHP或Ruby是首选。

9 个答案:

答案 0 :(得分:6)

您是否尝试过Bringing the Browser to the Server

答案 1 :(得分:2)

Java支持使用Rhino的javascript,同时查看此页面的服务器端javascript解决方案:http://en.wikipedia.org/wiki/Server-side_JavaScript

答案 2 :(得分:2)

java中的

http://lobobrowser.org/cobra/java-html-parser.jsp
这是一个支持Javascript的CSS识别HTML解析器
与您的问题相关的最重要的功能:它是Javascript感知的。解析期间发生的DOM修改将反映在生成的DOM中。

答案 3 :(得分:1)

对于Java,请务必查看HtmlUnitHttpUnit

答案 4 :(得分:1)

PhantomJS执行此操作,可以与任何服务器端语言一起使用。请参阅下面的NodeJS和PHP

的一些集成模块

的NodeJS

https://npmjs.org/package/node-phantom

https://github.com/sgentle/phantomjs-node

PHP

https://github.com/diggin/php-PhantomjsRunner

答案 5 :(得分:0)

PHP有DOMDocument用于导航DOM。我没有听说过执行JavaScript的任何事情。

答案 6 :(得分:0)

this post开始,然后点击链接。或者只是搜索Rhino。

答案 7 :(得分:0)

现在有几个项目可以很好地完成这项工作:

  • PhantomJS是WebKit的无头版本,还有一些有用的包装器,例如CasperJS

  • Zombie.js这是用Javascript(Node.js)编写的jsdom封装器。

您需要编写JavaScript代码才能与这两个项目进行交互。到目前为止,我更喜欢Zombie.js,因为它更容易设置,并且您可以在代码中使用任何Node.js / npm模块。

答案 8 :(得分:0)

node.js?

Node可以在其控制台中运行任何javascript文件。我会尝试节点优先&看看它是否可以做你想要的,因为它可能拥有最大的用户群和文档。