Logging in on Steam - CasperJS

Logging in on Steam - CasperJS

本文关键字:CasperJS Steam on in Logging      更新时间:2023-09-26

我想用CasperJS登录Steam,但它不想工作。

这是我的代码:

var url = 'https://steamcommunity.com/login/';
casper.start(url, function() {
    console.log("page loaded");

casper.waitForSelector("form input[name='username']", function() {
}, true);   
    this.fill('form[name="logon"]', { 
        username: 'username', 
        password:  'password'
    }, true);
    this.click('form input#SteamLogin');
});

执行完这个代码后,CasperJS说:

[info] [remote] submitting form to #, HTTP POST
[warning] [remote] unable to submit form

我还使用了函数"StartLogin"(我在steam的源代码中找到了这个函数),并用这个执行了它:

casper.evaluate(function(){
    StartLogin();
});

但是CasperJS出现了这个错误:

Page Error: ReferenceError: Can't find variable: StartLogin

如果有人能帮助我,我将非常感谢:)

你的问题很模糊,但我正在努力帮助

你必须知道casper.evaluate和经典的assert语句之间的区别,我认为你混淆了

casper.evaluate在phatom上下文中评估特定语句,它不评估任何函数。如果你想评估一个函数的正确return,可以这样使用:

var val = casper.evaluate(function() {if(true) return 'foo';});
test.assertEquals(val,'foo');

我希望我能帮你一点忙,更多信息请查看:

  1. CasperJS评估
  2. 检测仪模块casper
  3. 适用于Chrome的CasperJS插件

在填充函数中,您将submit bool设置为true,以便在填写用户名和密码后提交表单。

取出this.click,然后将casper.then(function(){})添加到末尾以执行下一个命令。

基本上,你试图点击一个不在那里的按钮,因为你已经通过提交表格进入下一页。

希望这能有所帮助!