Last Updated: February 25, 2016
·
7.201K
· ariefbayu

Using phantomjs to post status update into facebook

Just a proof of concept while playing around with phantomjs

var page = new WebPage();

//spoof it as opera mini, to get the mobile page working properly
page.settings.userAgent = "Opera/9.80 (J2ME/MIDP; Opera Mini/6.5.26955/27.1407; U; en) Presto/2.8.119 Version/11.10";

function doLogin(){
    page.evaluate(function(){
        var frm = document.getElementById("login_form");

        frm.elements["email"].value = "--enter-your-email--";
        frm.elements["pass"].value = "--enter-your-password--";

        frm.submit();
    });
}

function doUpdateStatus(){
    page.evaluate(function(){
        var form = document.getElementById("composer_form");
        form.elements["status"].value = "--write-down-your-status-message--";
        form.submit();
    });
}

page.onLoadFinished = function(status){
    console.log( (!phantom.state ? "no-state" : phantom.state) + ": " + status );
    if(status === "success"){
        if( !phantom.state ){
            doLogin();
            phantom.state = "logged-in";
        } else if(phantom.state === "logged-in"){
            doUpdateStatus();
            phantom.state = "status-updated";
        } else if(phantom.state === "status-updated"){
            phantom.exit();
        }
    }
};

page.onConsoleMessage = function (message){
    console.log("msg: " + message);
};

page.open("http://m.facebook.com");

2 Responses
Add your response

Very useful. Thanks.
I haven't managed to find any proper source code demonstrating how to use PhantomJS.

This helps a lot.

over 1 year ago ·

the code doesn't cope with the actual posting mechanism used by Facebook today, but nonetheless it is a valuable code piece, as demonstration on using phantomjs

over 1 year ago ·