试图使用phantom.js登录facebook
Trying to use phantom.js to login facebook
我正在尝试创建一个脚本登录到我的facebook帐户,但是当我运行我的脚本时,我收到的消息是cookie未启用。My phantom.js脚本:
var webPage = require('webpage');
var page = webPage.create();
page.settings.userAgent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1';
page.settings.javascriptEnabled = true;
page.settings.loadImages = false;
phantom.cookiesEnabled = true;
phantom.javascriptEnabled = true;
page.open("http://facebook.com", function(status) {
if ( status === "success" ) {
page.evaluate(function() {
document.querySelector("input[name='email']").value = "x";
document.querySelector("input[name='pass']").value = "y";
document.querySelector("#login_form").submit();
console.log("Login submitted!");
});
window.setTimeout(function () {
page.render('colorwheel.png');
phantom.exit();
}, 5000);
}
});
我做错了什么?
一切正常,测试一下。您的问题是,您没有从沙盒捕获console.log
消息,要做到这一点,您需要使用page.onConsoleMessage
回调。
function click(sel){var event=document.createEvent('MouseEvents');event.initMouseEvent('click',1,1,window,1,0,0,0,0,0,0,0,0,0,null);document.querySelector(sel).dispatchEvent(event);}
var page = require('webpage').create({viewportSize:{width: 1600,height: 900},
settings:{userAgent:'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0',
javascriptEnabled:'true',
loadImages:'false'
}});
// https://github.com/dillbyrne/random-agent-spoofer/blob/master/data/json/useragents.json
page.onConsoleMessage = function (msg, line, source) {
console.log('console> ' + msg);
};
page.open("http://facebook.com", function(status) {
if ( status === "success" ) {
page.evaluate(function(click) {
document.querySelector("input[name='email']").value = "<login>";
document.querySelector("input[name='pass']").value = "<pass>";
document.querySelector("#login_form").submit();
console.log("Login submitted!");
// setTimeout(function(){ scrollTo(0,document.body.scrollHeight) },2500);//Scrolling to bottom.
//click("a[someAttr=someVal]")
},click);
setTimeout(function () {
page.render('test.png');
phantom.exit();
}, 5000);
}
});
相关文章:
- 如何使用js自动登录
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- Facebook示例JS登录未加载
- 使用Node.js登录Shopify
- 使用 Angular JS 登录,$http请求不起作用
- 谷歌使用 Ember.js 登录
- Node.js+Ember.js登录系统
- 节点JS:登录不起作用
- 可以't使用Prototype.js登录Tiny Tiny RSS API
- 试图使用phantom.js登录facebook
- 使用Node.js登录
- Node.js登录到博客网站并创建新帖子
- 如何知道用户是否在跨子域使用passport.js登录
- 使用Node.JS登录和抓取远程网站
- 使用Node.js登录后不能调用JS和图像文件
- 无法使用MongoDB和Node.js登录
- facebook js登录页面在IE10中不断重新加载
- Rails / JS - G+登录按钮只在页面重新加载后在某些情况下工作
- Flux+React.js登录/注册流
- JS登录弹出窗口在Jquery中不起作用