前端开发

javascript – PhantomJS / CasperJS网站登录,Cookies不接受PhantomJS

2021-01-16 03:02:07 阅读数 2577 收藏 0
我最近试图登录一个网站,迫使我接受cookies.我使用的是phantomJs和casperJs.我写了一个应该处理登录的小脚本,但是它将我重定向到一个告诉我我必须接受cookie的站点.电子邮件和密码只是占位符.

我想登录的网站是https://de.buyvip.com/.但是,我需要点击亚马逊的按钮,以便我可以用我的亚马逊帐户登录.其他登录表单不起作用. (这导致这个漫长的url,我只是从我的浏览器复制)

有人能帮我吗?

这是脚本:

var casper = require("casper").create()
    var fs = require('fs');
    var page = "https://www.amazon.de/ap/signin?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&pageId=quarterdeckde&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&clientContext=280-1158662-4507036&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&marketPlaceId=A38GABX06X24K&openid.assoc_handle=quarterdeckde&openid.return_to=https%3A%2F%2Fde.buyvip.com%2Fsignin&openid.pape.max_auth_age=0&siteState=http%3A%2F%2Fde.buyvip.com%2Fhomepage%3Fhash%3DM";

    phantom.cookiesEnabled = true;

    casper.start(page,function()
    {
        console.log("started");
        this.fill('form#ap_signin_form',{
            'email' : 'myMail','password' : 'myPass'
        },true);
    });

casper.then(function()
{
    fs.write("test.html",this.getHTML(),"w");
});

    casper.run();

解决方法

也许稍后,但这是答案:
casper.userAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)');

在我的情况下,我的情况是:“Mozilla / 5.0(Macintosh; Intel Mac OS X)AppleWebKit / 534.34(KHTML,像Gecko)CasperJS / 1.0.2 Phantomjs / 1.7. 0 Safari / 534.34“