我试图创建一个(最初)非常简单的CasperJS脚本来访问Cisco Meraki的网站(https://account.meraki.com/login/dashboard_login?go=),但根本没有成功。事实上,即使是第一种启动方法也行不通,我真的很感激一些帮助。
初始捕获仅显示灰色屏幕。我包含waitForText方法并且超时。然后我将这个getHTML包含在内,以查看收到的内容,令我惊讶的是,这是显示的内容,而不是页面本身:
<html><head></head><body></body></html>
我还尝试在Chrome上跟踪访问的内容,但我没有成功映射问题。
请注意我在命令行上传递了用户名和密码信息,但这种奇怪的行为甚至在此之前,在初始页面上。
整个脚本输出及其cli。
casperjs --ignore-ssl-errors=true --ssl-protocol=any --cookies-file=cookies.txt meraki.js “username@xxx.xxx” “password”
timeout waiting por Text
<html><head></head><body></body></html>
简单的脚本本身:
var casper = require('casper').create();
casper.options.waitTimeout = 5000;
var user = casper.cli.get(0);
var pass = casper.cli.get(1);
if (user === undefined)
{
console.log("Missing argument: username");
casper.exit(0);
};
if (pass === undefined)
{
console.log("Missing argument: password");
casper.exit(0);
};
var x = require('casper').selectXPath;
casper.on("resource.error", function(resourceError){
console.log('Unable to load resource (#' + resourceError.id + 'URL:' + resourceError.url + ')');
console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString);
});
casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36');
casper.start('https://account.meraki.com/login/dashboard_login?go=');
casper.viewport(1200, 1200);
casper.waitForText("2015 Cisco Systems, Inc.",function (){
casper.capture('Initial.png');
},function () {
console.log ("timeout waiting por Text");},10000);
casper.then(function () {
this.echo(this.getHTML());
});
casper.run();