我想开发一个应用程序,它会自动(基于某种逻辑)抓取网页。自动点击并张贴在页面上进行测试。把它想象成Selenium。你能推荐任何可嵌入的Javascript引擎吗?
对于简单的网页,这可以很容易地完成我的废除HTML代码,然后提出一个新的请求到服务器的下一页。问题在于处理Ajax页面。 如何处理HTML中的JS代码?
要分解它,问题的不同部分将会是。 JS引擎必须: -
- 解析HTML代码,使服务器请求获取外部简称JS文件。可能会提供一个钩子让用户代码为引擎获取它。
- 在浏览器中创建HTML元素的DOM树,并让用户代码访问并操作它们。
- 让用户代码挂钩到JS事件。
一个典型的JS代码执行以下任务: -
- 访问DOM元素。
操作现有DOM元素。
a.This可以是化妆品(如更改高度等)用户代码没有兴趣,这将是非常困难的,因为它需要一个布局引擎。
b。这可以是属性的操纵。用户代码会对此感兴趣。
添加新的DOM元素。
- 为Ajax发出Http请求。
你可以给我任何可嵌入的JS引擎,我可以用来实现所有这些?我选择的语言是Java,但是C/C++或Python可以。我不确定,但Mozilla Rhino是否符合上述法案?
如果我要把它想像为硒,我不妨使用硒... – 2011-03-04 19:18:50
也许吧。如果Selenium在我入伍的时候控制了JS,那么我的下一个问题是否会做到这一点? – AppleGrew 2011-03-04 19:25:18