我一直在处理一些代码来访问我的Google CSE 为此,我需要使用我的Google帐户登录。
我有以下代码:
var casper = require('casper').create({
verbose: true,
logLevel: 'debug',
waitTimeout: 5000,
clientScripts: ["libs/jquery.min.js"],
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'
});
const google_email = "MY_EMAIL";
const google_passwd = "MY_PASSWORD";
const loginUrl = 'https://accounts.google.com';
casper.start(loginUrl, function() {
this.waitForSelector('#view_container > form');
});
casper.then(function() {
this.fillSelectors('#view_container > form', {
'input[name="identifier"]': google_email
}, false);
});
casper.then(function() {
this.click('#identifierNext');
});
casper.wait(500, function() { //Wait for next page to load
this.capture('images/step01.png');
});
casper.then(function() {
this.evaluate(function () {
var identifierNext = $('#identifierNext');
identifierNext.click();
});
});
casper.then(function() {
this.capture('images/step02.png');
});
casper.run(function() {
this.echo("Done");
});
输入电子邮件的部分似乎有效。
但是点击部分不起作用。
我找到this,但似乎过时了。
由于
答案 0 :(得分:1)
我还没有解决与新表单相关的问题,但是我们找到了一种访问旧表单的方法,所以" old"脚本应该仍然有效,并且该解决方案正在禁用JS。为此,将loginUrl更改为
重要的是:nojavascript = 1
我们正在使用Casperjs Google Login Not working中发布的脚本 只需更改登录网址。
答案 1 :(得分:0)
尝试一下-等待动态加载的页面需要更多的延迟。
StdErrPipe