gpt4 book ai didi

javascript - CasperJS 不显示模式叠加

转载 作者:行者123 更新时间:2023-12-02 15:26:44 25 4
gpt4 key购买 nike

我正在为 DraftKings 编写脚本。我需要做的第一件事是登录。
The login in page looks like this:

如您所见,右上角有一个登录按钮。当您单击它时,会显示一个带有登录框的模态叠加层。

Modal Overlay

我有一个 CasperJS 脚本,如下所示:

var casper = require('casper').create({
clientScripts: ["./jquery-2.1.4.min.js"],
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.thenEvaluate(function() {
this.clickLabel('Sign-in', 'a');
//.click('a[data-lp-signin-nav="1"]');
this.capture('login.png');
});

casper.thenEvaluate(function() {
//fill form

//casper.evaluate(function(){
casper.sendKeys('#Username', "xxxxx");
casper.sendKeys('#Password', "xxxxx");
this.click('a[data-signin-submit="1"]');
this.capture('screen.png');
//});
});

casper.run(function() {
//finish execution script
this.exit();
});

我启动页面,然后尝试单击登录按钮以显示模式叠加层,但是当 login.png 没有显示它时。

另一方面,我应该能够在不显示该信息的情况下登录,但是当我这样做时,它不会将我重定向到主页,并且当我手动打开主页时,我没有登录。

控制台日志没有显示错误,我可以看到正在填写表单项并且正在单击按钮。

我在这里遗漏了什么吗?

最佳答案

您的脚本存在很多问题。几乎所有这些都没有做任何事情。

casper.evaluate()casper.thenEvaluate() 是进入 DOM 的大门。它们是沙盒的,无法访问外部功能。 casper 在它们内部不可用,this 指的是 window。我建议您阅读casper.evaluate()的文档和 page.evaluate()完全。

如果你想显示可能的错误,那么你需要注册到resource.errorpage.errorremote.messagecasper.page.onResourceTimeout 事件 ( Example )。

然后就有一个问题,就是你点击某个东西后没有等待任何事情发生。单击后您会立即截取屏幕截图,但您应该将其放入下一步。

进一步完善它:

var casper = require('casper').create({
loadImages:false,
verbose: true,
logLevel: 'debug'
});

casper.start('https://draftkings.com');

casper.then(function() {
this.clickLabel('Sign-in', 'a');
//.click('a[data-lp-signin-nav="1"]');
});

casper.then(function() {
this.capture('modal.png');
this.sendKeys('#Username', "xxxxx");
this.sendKeys('#Password', "xxxxx");
this.click('a[data-signin-submit="1"]');
});

casper.then(function() {
this.capture('logged_in.png');
});

casper.run();

如果您不使用 jQuery 并且页面已有版本,请不要包含它。由于版本之间不兼容,它可能会破坏页面代码。

关于javascript - CasperJS 不显示模式叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33638306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com