Redirect CasperJS未遵循重定向到HTTPS

Redirect CasperJS未遵循重定向到HTTPS,redirect,https,casperjs,Redirect,Https,Casperjs,我正在尝试使用CasperJS自动处理大量繁琐的数据输入。具体来说,在佳能网站上注册一批非常大的相机设备 我有代码来处理表单填充,使用CasperJS在网页上导航没有问题,但是我无法让CasperJS导航到登录页面 以下是我目前掌握的情况: var casper = require('casper').create({ verbose: true, userAgent: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36

我正在尝试使用CasperJS自动处理大量繁琐的数据输入。具体来说,在佳能网站上注册一批非常大的相机设备

我有代码来处理表单填充,使用CasperJS在网页上导航没有问题,但是我无法让CasperJS导航到登录页面

以下是我目前掌握的情况:

var casper = require('casper').create({
    verbose: true,
    userAgent: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36',
    logLevel: "debug"
});

phantom.cookiesEnabled = true;

casper.start();

casper.thenOpen('https://b2cweb.usa.canon.com/b2cweb/view/myAccountHome.jsf?LOGINACTION=Y', function(response) {
require('utils').dump(response);
});

casper.run();
注意:上面的代码在到达页面时转储标题内容。我还尝试了不同的用户代理字符串,以防Adobe主动阻止爬虫

该链接在Google Chrome中运行完美,但CasperJS只记录以下内容

加载资源失败,状态为失败

从GoogleDevTools可以看出,链接302重定向到

然后301重定向到:

我假设重定向是CasperJS无法获取登录页面的原因

可以让CasperJS遵循这些类型的重定向吗?CasperJS是否可用于通过HTTPS浏览和/或登录

更新:

我不太确定是否是重定向导致了问题

作为一种解决方法,我尝试将会话cookie(从chrome复制)预加载到casperjs中,然后直接导航到帐户页面

我还尝试将--ignoresslerrors=true标志添加到命令中,但没有成功


无论我做什么,它都会返回一个关于:空白url。

以下内容将引导您进入登录页面:

    var casper = require("casper").create ({
    waitTimeout: 15000,
    stepTimeout: 15000,
    verbose: true,
    viewportSize: {
        width: 1400,
        height: 768
    },
    onWaitTimeout: function() {
        logConsole('Wait TimeOut Occured');
        this.capture('xWait_timeout.png');
        this.exit();
    },
    onStepTimeout: function() {
        logConsole('Step TimeOut Occured');
        this.capture('xStepTimeout.png');
        this.exit();
    }
});

casper.on('remote.message', function(msg) {
    logConsole('***remote message caught***: ' + msg);
});

casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4');

// vars
var gUrl           = 'http://www.usa.canon.com/cusa/home';

// Open URL and click sign in
casper.start(gUrl, function() {
  this.clickLabel('Sign In', 'a');
});

//Sign in page
casper.then(function () {
  //+++ ready for you to fill user information.
  this.capture('xSignIn.png'); //+++ shows you are on signin page. can remove.
});

casper.run();

PhantomJS在重定向后出现问题,您可以从casperjs:
casperjs--engine=slimerjs
自动执行重定向。