我想登录蒸汽与CasperJS,但它就是不想工作。
这是我的代码:
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如果有人能帮助我,我将非常感激:)
发布于 2015-11-06 18:52:44
你的问题很模糊,但我正试着帮你
您必须知道casper.evaluate和经典的assert语句之间的区别,我认为您混淆了其中的某些内容
casper.evaluate在phatom上下文中计算特定的语句,它不计算任何函数。如果你想计算一个函数的正确的return,可以这样使用它:
var val = casper.evaluate(function() {if(true) return 'foo';});
test.assertEquals(val,'foo');我希望我能为您提供一点帮助,有关更多信息,请查看:
发布于 2015-11-11 05:30:58
在fill函数中,您将提交bool设置为true,以便在填写用户名和密码后提交表单。
取出this.click,然后在末尾添加casper.then(function(){})以执行下一条命令。
基本上,您正在尝试单击一个不存在的按钮,因为您已经通过提交表单转到了下一页。
希望这能有所帮助!
https://stackoverflow.com/questions/33556263
复制相似问题