javascript - 使用 casper 登录 Facebook

标签 javascript jquery python facebook casperjs

我正在尝试使用 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/

相关文章:

python - 子类、意外参数和 Unresolved 引用的问题

python - 检查字符串是否以一组字符串中的一个开头的有效方法

javascript - 使用 JS 生成 CSV 添加额外的空列

javascript - 使用 .ajax() 加载远程 URL - 不工作

jquery - css + jQuery 下拉子菜单溢出

javascript - jQuery 点击函数 - 获取这个的 ID

python - python中使用networkX的多向图

javascript - 使用 .NET MVC 的 Angular 路由

javascript - 是否可以根据浏览器宽度动态缩放文本大小?

javascript - 从 "outside"以编程方式设置knockout.js值