-
-
Save ecin/2473860 to your computer and use it in GitHub Desktop.
console.log("got here"); | |
var page = require('webpage').create(); | |
page.onConsoleMessage = function(msg) { | |
console.log(msg); | |
}; | |
page.open("http://facebook.com", function(status) { | |
if ( status === "success" ) { | |
page.evaluate(function() { | |
document.querySelector("input[name='email']").value = "email"; | |
document.querySelector("input[name='pass']").value = "pass"; | |
document.querySelector("#login_form").submit(); | |
console.log("Login submitted!"); | |
}); | |
window.setTimeout(function () { | |
page.render('colorwheel.png'); | |
phantom.exit(); | |
}, 5000); | |
} | |
}); |
It's not working because http://facebook.com is trying to redirect to https://facebook.com[/index.php], which has the input elements.
Nigina, did you manage to make this work?
I got this to log in to Facebook by changing it up a bit like this:
var page = require('webpage').create();
page.open("http://www.facebook.com/login.php", function(status) {
if (status === "success") {
page.evaluate(function() {
document.getElementById("email").value = "email";
document.getElementById("pass").value = "password";
document.getElementById("u_0_1").click();
});
window.setTimeout(function() {
page.render("page.png");
phantom.exit();
}, 5000);
}
});
However, I am unsure of how to actually do anything once it's logged in.
Anyone have any ideas?
I tried adding another "page.evaluate" but it won't evaluate it a second time.
Is there a way for such redirection to be performed through phantomjs?
var page = require('webpage').create();
page.open("http://www.facebook.com/login.php", function(status) {
if (status === "success") {
page.onConsoleMessage = function(msg, lineNum, sourceId) {
console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
};
page.evaluate(function() {
console.log('hello');
document.getElementById("email").value = "email";
document.getElementById("pass").value = "password";
document.getElementById("u_0_1").click();
// page is redirecting.
});
setTimeout(function() {
page.evaluate(function() {
console.log('haha');
});
page.render("page.png");
phantom.exit();
}, 5000);
}
});
And it seems like I can evaluate twice. Below are the output:
CONSOLE: hello (from line #undefined in "undefined")
CONSOLE: haha (from line #undefined in "undefined")
My phantomjs version is 1.9.7
Hi All,
Check my repo for the same.
https://github.com/manishjo/Automation/blob/master/facebook_automation/fbScreenshot.js
Its works fine and login's to facebook and takes a snapshot of your home page.
Thanks,
Manish Joshi
Here is a good post explaining how to login to the Facebook and get all images greater than 100x100 pixels from the timeline: http://code-epicenter.com/how-to-login-to-facebook-using-casperjs/
It's not working. It's not working. It's not working. It's not working. It's not working. It's not working. It's not working. It's not working. It's not working. It's not working. It's not working. It's not working. It's not working.
^ Are you kidding me dude?
For all those who can't login, or don't get any of content,
use this command phantomjs --ssl-protocol=any myscript
edit "u_0_1"
to "loginbutton"
Worked fine for me, but no pictures showed. Is there a way of grabbing the pictures too using PhantomJS?
document.querySelector("input[name='email']").value = "email";
document.querySelector("input[name='pass']").value = "pass";
document.getElementById("u_0_1").click();
type error araha hai null is not an object
I am continually getting the following error message:
TypeError: 'null' is not an object (evalueting 'document.querySelector("input[name='email']").value = "[email protected]"')
but email is correct.