我的https页面有问题。页面完全正常,它存在,但phantomjs告诉我其他的东西:'加载资源失败,状态失败'。我读了一段时间,现在我知道它是phantomjs的bug,这个问题的解决方案是:
--ignore-ssl-errors=true
所以我知道解决方案,但不知道如何使用它。我如何将这个传递给casper的phantomjs?我应该在哪里做?
编辑:
整个代码:
var casper = require('casper').create({
verbose: true,
logLevel: 'warning',
pageSettings: { javascriptEnabled: true },
viewportSize: {width: 1024, height: 768}
});
var url = 'http://us3.php.net/manual/en/function.explode.php',
xp = require('casper').selectXPath;
// ### AKCJE PODSTAWOWE ###
casper.start(url);
casper.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0');
casper.then(function(){this.captureSelector('logi/img1.png', 'body');});
casper.then(function(){ this.sendKeys(xp('/html/body/nav/div/div/div/form/span/input[2]'),'test18');});
casper.then(function(){this.captureSelector('logi/img2.png', 'body');})
casper.thenClick(xp('/html/body/div[3]/div/section/div/div[2]/a[1]'));
casper.wait(2000);
casper.then(function(){this.captureSelector('logi/img3.png', 'body');})
casper.run(function(){ this.exit(); });
答案 0 :(得分:19)
根据https://casperjs.readthedocs.org/en/latest/cli.html#casperjs-native-options
最后但并非最不重要的是,您仍然可以使用所有PhantomJS标准CLI 与任何其他phantomjs脚本一样的选项:
$ casperjs --web-security = no --cookies-file = / tmp / mycookies.txt myscript.js
所以,我猜,它会是
casperjs --ignore-ssl-errors=true yourjsapp.js
答案 1 :(得分:2)
对于之前正在使用的网站遇到了同样的问题,但突然停止使用"加载资源失败,状态=失败:"消息。
我没有更改任何版本的版本,也没有更改我的脚本,因此必须在服务器端更改某些内容。最终,我的修复是设置以下选项:
--ssl-protocol=tlsv1
此链接有助于提供一些不同的选项来尝试: https://github.com/n1k0/casperjs/issues/49
页面上的其他建议是:
--ignore-ssl-errors=true
--ssl-protocol=any