2

我正在编写一个自动化脚本来登录 Draftkings.com。我正在使用 sendKeys() 将我的登录凭据添加到必填字段。sendKeys() 的第一个用途是用于 ID 为“用户名”的用户名字段。这实际上会将我的用户名放入该字段。第二种用途是用于 ID 为“Password”的密码字段。但是,这会将此字段的所需文本放入用户名字段中。我错过了什么吗?

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 问题。如果我的凭据是捕获将表明这一点。

4

1 回答 1

0

中提供的输入可能有问题 this.click(),请尝试输入 xpath,而不是使用

this.click(x('your xpath here'));
于 2015-12-01T13:29:26.320 回答