Javascript 为无头Webkit提供服务的最熟练方式

Javascript 为无头Webkit提供服务的最熟练方式,javascript,node.js,webkit,Javascript,Node.js,Webkit,我只想使用Node.js启动一个无头WebKit浏览器——理想情况下,它会很轻,有一个用于打开url(…等)的节点api,但最重要的是:我不想依赖Python、xCode等等。我只想要一个npm安装nodewebkitmodule所需的所有东西,最好是操作系统无关的。非常直截了当,但充满希望 我所需要的是: var wk = require('webkit'); var URL = 'http://localhost:3000/index.html'; wk.open(URL, function

我只想使用Node.js启动一个无头WebKit浏览器——理想情况下,它会很轻,有一个用于打开url(…等)的节点api,但最重要的是:我不想依赖Python、xCode等等。我只想要一个
npm安装nodewebkitmodule所需的所有东西,最好是操作系统无关的。非常直截了当,但充满希望

我所需要的是:

var wk = require('webkit');
var URL = 'http://localhost:3000/index.html';
wk.open(URL, function(){
    var socketIO = require('socketIO');
    socketIO.emit('helloWebkit', {data: {el: 'div#id.class'}});
    socketIO.on('hello', function(textNode){
        console.log('got it', textNode === 'hello');
    });
});
wk.close();
正如我所说的,非常简单,但希望是轻巧和独特的包装(希望是纯Node.js)

有我可以使用的模块吗?为WebKit创建自己的节点包装器容易吗?我是否可以使用中的节点打开webkit


我想指出的是,这不是用于单元测试,它严格用于与webkit的窗口交互。

听起来您需要一个类似PhantomJS的库


我不明白,为什么你需要一个无头浏览器来使用socket IO和真正的浏览器?您是否需要解析只能在浏览器环境中完成的内容?如果只是标记,您可以使用Cheerio等最新节点webkit v0.8.4修复OSX上的性能缺陷。它应该可以解决您的问题。adeneo,我将处理非常经典的数据,所以我们正在试验通过
标记名
类名
,等等获取数据。@adeneo,上面的代码显然只是一个例子。@Pacerier-它显然已经三年了?无论如何,我意识到这只是一个例子,但是一个使用WebSocket和SocketIO与一个无头浏览器进行通信的例子是没有意义的。Thx,我已经涉猎了phantomjs和spooky,但在某些情况下,如果不使用异步库,它会有些沉重和困难。Kim T,这只是一个
npm安装
,因为我似乎缺少依赖项。。。?不过,这听起来是我最好的机会。但仍在等待原始webkit实现。原始版本不是节点包。您可以使用brew:ruby-e“$(curl-fsSL)”brew更新brew安装phantomjs进行安装。或者,您也可以使用:npm安装phantomjs安装某人的包装
var page = require('webpage').create();
page.open('http://example.com', function() {
    page.render('example.png');
    phantom.exit();
});