我目前正在学习如何使用NightmareJS。当我运行下面的代码时,我发现性能很慢。获得输出最多需要 30 秒。我做错什么了吗?
此外,我曾尝试使用wait()
选择器,但这并没有太大帮助。
我不确定这是否与我的 Internet 连接有关,但是,使用 Google Chrome 打开相同的站点并执行相同的任务比使用Nightmare更快。
源代码
var Nightmare = require('nightmare');
var after;
var before = Date.now();
new Nightmare({
loadImages: false
}).goto('https://www.wikipedia.org/')
.type('#searchInput', process.argv[2])
.click('input[name="go"]')
.wait()
.url(function(url) {
after = Date.now();
console.log('>>> [' + (after - before) / 1000.0 + 's] ' + url);
})
.run(function(err, nightmare) {
if (err) console.log(err);
});
输出
node n02_extract_wiki_link.js "node.js"
>>> [31.227s] https://en.wikipedia.org/wiki/Node.js
下面列出了我当前的环境。
Mac OS X 10.10.4
node v0.12.5
PhantomJS 2.0.0
nightmare@1.8.2