我正在编写一个自动脚本来登录draftkings.com。我正在使用sendKeys()将我的登录凭据添加到必填字段。 sendKeys()的第一个用途是用户名字段,其ID为“用户名”。这实际上会将我的用户名放入该字段中。第二个用途是密码字段,ID为“密码”。但是,这会将此字段的所需文本放入用户名字段中。我错过了什么吗?
var casper = require('casper').create({
loadImages:false,
verbose: true,
logLevel: 'debug'
});
//set browser user agent
casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X)');
//Open URL
casper.start('https://draftkings.com');
casper.then(function() {
this.clickLabel('Sign-in', 'a');
});
casper.then(function() {
this.sendKeys('#Username', 'xxxx');
this.sendKeys('#Password', 'xxxx');
this.click('a[data-signin-submit="1"]');
});
casper.then(function() {
this.capture('test67_failed.png');
});
casper.run();
更新
我无法弄清楚为什么sendKeys
无法正常工作。我最后只使用this.evaluate()
将值输入到document.querySelector()
的字段中。
新问题:
我可以在控制台输出中看到正在点击'a[data-signin-submit="1"]'
并且正在发送http请求,但它实际上并没有记录我。我正在使用phantomJS 2.0.0所以它不是一个ssl问题,虽然我已经尝试过了。如果我的凭据是捕获将显示。
答案 0 :(得分:0)
this.click()
中提供的输入可能存在问题,请尝试使用
this.click(x('your xpath here'));