你能建议任何可嵌入的Javascript引擎吗?

时间:2011-03-04 19:14:54

标签: java javascript embedding

我想开发一个应用程序,它会自动(基于某些逻辑)抓取网页。自动点击并在页面上发布以测试它们。可以把它想象为Selenium

对于简单的网页,我可以轻松完成我的HTML代码,然后向下一页的服务器发出新请求。问题是处理Ajax页面。 如何处理HTML中的JS代码?

为了打破它,问题的不同部分将是。 JS引擎必须: -

  1. 解析HTML代码并发出服务器请求以获取引用的外部JS文件。可以提供一个钩子让用户代码为引擎获取它。
  2. 像在浏览器中一样创建HTML元素的DOM树,让用户代码访问和操作它们。
  3. 让用户代码挂钩JS事件。
  4. 典型的JS代码执行以下任务: -

    1. 访问DOM元素。
    2. 操纵现有的DOM元素。

      a。这可能是装饰性的(如改变高度等)。用户代码对此没有兴趣,这将非常困难,因为它需要布局引擎。

      湾这可以是属性的操纵。用户代码会对此感兴趣。

    3. 添加新的DOM元素。

    4. 发出Ajax的Http请求。
    5. 你能告诉我任何可以用来实现所有这些的可嵌入式JS引擎吗?我选择的语言是Java,但C / C ++或Python都可以。我不确定,Mozilla Rhino是否适合上述法案?

2 个答案:

答案 0 :(得分:3)

看看HtmlUnit

答案 1 :(得分:0)

我们使用Cobra项目进行了一些我们正在进行的工作,我们需要检索网页并执行其中的javascript。不知道你是否可以根据自己的需要调整项目。