我正在尝试使用 casper 登录 Facebook。我的程序如下:
var casper=require("casper").create({
clientScripts:["C:\Users\HP\Desktop\Python\jsfiles\jquery.min.js"],
verbose:true,
logLevel: 'debug'
});
var x =require('casper').selectXPath;
casper.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36');
phantom.cookiesEnabled=true;
var fs=require('fs');
var cookies=JSON.stringify(phantom.cookies);
fs.write('cookies.txt',cookies,644);
casper.start("https://www.facebook.com",function(){
this.echo(this.getTitle());
}).viewport(1200,1000);
casper.wait(5000,function(){
casper.capture('test1.png')
});
casper.waitForSelector(x('//*[@id="pass"]'),function(){
this.thenEvaluate(function(){
$('#email').val("");
$('#pass').val(" ");
});
});
casper.wait(5000,function(){
casper.capture('test2.png')
});
casper.then(function(){
casper.click(x('//*[@id="loginbutton"]'));
});
casper.wait(5000,function(){
casper.capture('test3.png')
});
casper.run();
上面的程序完全返回,但是test2.png在电子邮件和密码文本框中没有显示任何数据。此外,test3.png 返回“输入有效的电子邮件”。
我哪里出错了?
最佳答案
这是由于您的 JavaScript 中存在错误!
$('#email').val("");
将 id email
的字段设置为空字符串!
如果你想检索 jQuery-Field 的值,请这样做:
$('#email').val();
This如果您遇到更多 jQuery 问题,可能会对您有所帮助
关于javascript - 使用 casper 登录 Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31413397/