我遇到了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。
我尝试了测试套件,colorwheel.js工作得很好(评估脚本+在创建的页面上合成图像)但是technews.js在示例中不存在\
我还尝试使用--ignore-ssl-errors = true和--ssl-protocol = tlsv1,以及--ssl-protocol = any,没有任何改变。
发生了什么事?
感谢您的时间。
答案 0 :(得分:0)
最后,我找到了问题的答案,但有些困难,但这很有趣。
路径必须是ISO 32(我相信),并且我有一个包含非ISO 32字符的父文件夹。只需将其移至完全兼容的路径即可使脚本正常工作。
道德:到处都是英语;)