Войдите на веб-страницу, используя phantomjs и Jquery

Я новичок в phantomjs, Java-скриптах и ​​WebScraping в целом. Я хочу сделать базовую HTTP-аутентификацию, а затем посетить другой URL-адрес, чтобы получить некоторую информацию. Вот что у меня есть до сих пор. Пожалуйста, скажите мне, что я делаю неправильно.

var page = require('webpage').create();
var system = require('system');

page.onConsoleMessage = function(msg) {
   console.log(msg);
};

page.onAlert = function(msg) {
   console.log('alert!!>' + msg);
};

page.settings.userName = "foo";
page.settings.password = "bar";

page.open("http://localhost/login", function(status) {
    console.log(status);
    var retval = page.evaluate(function() {
       return "test";
    });
    console.log(retval);

    page.open("http://localhost/ticket/" + system.args[1], function(status) {
        if ( status === "success" ) {
            page.injectJs("jquery.min.js");
            var k = page.evaluate(function () {
                var a = $("div.description > h3 + p");

                if (a.length == 2) {
                    console.log(a.slice(-1).text())
                } 
                else {
                    console.log(a.slice(-2).text())
                }
            //return document.getElementById('addfiles');
            });

        }
    });
    phantom.exit();
});

Я передаю в этот файл аргумент: номер билета, который добавляется ко второму URL-адресу.

5
задан soothsayer 19 June 2012 в 18:43
поделиться