我正在使用PhantomJs和CasperJs登录亚马逊,它工作正常,但在多次登录后,亚马逊给验证码和我的脚本失败。我不知道如何处理登录脚本,如果它有验证码。这是我当前的代码,如果没有验证码,它工作得很好。
var casper = require('casper').create();
var AMAZON_USER = 'amazon-username';
var AMAZON_PASS = 'amazone-password';
casper.start('https://www.amazon.com/gp/wallet', function () {
this.echo('Loggin into amazon...');
var emailInput = 'input#ap_email';
var passInput = 'input#ap_password';
this.mouseEvent('click', emailInput, '15%', '48%');
this.sendKeys('input#ap_email', AMAZON_USER);
this.wait(3000, function () {
this.mouseEvent('click', passInput, '12%', '67%');
this.sendKeys('input#ap_password', AMAZON_PASS);
this.mouseEvent('click', 'input#signInSubmit', '50%', '50%');
});
});
casper.then(function (e) {
this.capture('amazon.png');//print screen shot after login
});
casper.run();提前谢谢。
发布于 2016-12-15 18:25:54
亚马逊可能正在考虑各种显示验证码的事情。这是我的观察结果。
我遇到了两种类型的亚马逊验证码。
基于浏览器的
不知道如何解决第二个问题。尝试下面的建议来解决第一个问题。
phantomjs.exit()。确保exit-method即使在异常发生时也会被调用。~/.local/share/Ofi Labs/PhantomJS/目录中。因此,在运行脚本之前,请清除目录中的文件。发布于 2016-10-05 20:53:42
您可以使用deathbycaptcha服务绕过验证码。
他们有非常便宜的价格来解决验证码问题。
https://stackoverflow.com/questions/39852337
复制相似问题