PhantomJS: QNetworkReply::NetworkError(TimeoutError)



我遇到了 phantomjs 无法连接到网站的问题,如那些调试日志所示:

Network - Resource request error: QNetworkReply::NetworkError(TimeoutError) ( "Socket operation timed out" ) URL: "https://google.com/"

代码就这么简单,通常在网站记录后截取屏幕截图。

var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
    console.log('CONSOLE: ' + msg);
};
page.open('https://google.com/');
page.onLoadFinished = function() {
    console.log('super launch');
    page.render('google.png');
    console.log('super end');
    phantom.exit();
}

但是,屏幕截图没有拍摄,很明显PhantomJS没有连接到 https://google.com

与从文档中获取代码的屏幕截图相同:

var page = require('webpage').create();
page.open('http://github.com/', function() {
    page.render('github.png');
    phantom.exit();
});

将输出:

Network - Resource request error: QNetworkReply::NetworkError(TimeoutError) ( "Socket operation timed out" ) URL: "http://github.com/"
一个是

HTTPS,一个是HTTP,没有一个工作。

我也在防火墙中启用了PhantomJS。

我尝试了测试套件,色轮.js工作得很好(评估脚本 + 在创建的页面上合成图像),但 technews.js 在示例中不存在\

我还尝试使用 --ignore-ssl-errors=true 和 --ssl-protocol=

tlsv1,以及 --ssl-protocol=any,没有任何改变。

这是怎么回事?

谢谢你的时间。

最后,我找到了问题的答案,虽然很困难,但这可能很有趣。

路径必须是ISO 32

(我相信),并且我有一个包含非ISO 32字符的父文件夹。只需将其移动到完全兼容的路径即可使脚本正常工作。

道德:英语无处不在;)

相关内容

  • 没有找到相关文章

最新更新