gpt4 book ai didi

javascript - Nightmare.js 在 Ubuntu Linux 云服务器上没有按预期工作

转载 作者:IT王子 更新时间:2023-10-29 00:38:37 24 4
gpt4 key购买 nike

我似乎无法让 nightmare.js [通过 DigitalOcean] 在 Ubuntu Linux 14.04 服务器上工作。

我已经安装了 PhantomJS (1.9.8) 和 Node (4.2.4),据我所知它们运行良好。

例如,当我运行这个时:

phantomjs loadspeed.js http://www.yahoo.com

loadspeed.js 包含这个:

"use strict";
var page = require('webpage').create(),
system = require('system'),
t, address;

if (system.args.length === 1) {
console.log('Usage: loadspeed.js <some URL>');
phantom.exit(1);
} else {
t = Date.now();
address = system.args[1];
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
t = Date.now() - t;
console.log('Page title is ' + page.evaluate(function () {
return document.title;
}));
console.log('Loading time ' + t + ' msec');
}
phantom.exit();
});
}

我得到以下输出:

Page title is Yahoo
Loading time 700 msec

但是,当我尝试运行一个简单的 Nightmare 时:

node --harmony hello_nightmare.js

hello_nightmare.js 包含这个:

var Nightmare = require('nightmare');

var google = new Nightmare()
.goto('http://google.com')
.wait()
.run(function(err, nightmare) {
if (err) return console.log(err);
console.log('Done!');
});

我没有得到任何输出;感觉就像我只是在命令行上按了“Enter”键。

我也在 Nightmare github网站上试过这个例子:

npm install nightmare vo
node --harmony hello_nightmare_main.js

hello_nightmare_main.js 包含这个:

var Nightmare = require('nightmare');
var vo = require('vo');

vo(function* () {
var nightmare = Nightmare({ show: true });
var link = yield nightmare
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit')
.wait('.ac-21th')
.evaluate(function () {
return document.getElementsByClassName('ac-21th')[0].href;
});
yield nightmare.end();
return link;
})(function (err, result) {
if (err) return console.log(err);
console.log(result);
});

还是不行。

我该如何解决这个 Nightmare ?

最佳答案

您的问题很可能描述为 https://github.com/segmentio/nightmare/issues/224

Nightmare 使用需要 X 显示的 Electron;由于您的服务器没有显示器,您可以使用 Xvfb 提供虚拟显示器。安装 xvfb,并运行

xvfb-run node --harmony hello_nightmare.js

关于javascript - Nightmare.js 在 Ubuntu Linux 云服务器上没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34795037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com