10 мая 2012 г., 23:24 от Alex Turpin

PhantomJS оценивает с базовой аутентификацией, возвращая ноль

Я пытаюсь использовать PhantomJS на странице с базовой аутентификацией всегда, например, на этой странице

http: //alexturpin.net/aut (test:rosebud)

Используя следующий код

<code>var webpage = require('webpage');

page = webpage.create();
page.settings = {
    userName: "test",
    password: "rosebud"
};

page.open("http://alexturpin.net/auth/", function(status) {
    console.log(status);
    var retval = page.evaluate(function() {
        return "test";
    });
    console.log(retval);
});
</code>

Я получаю этот вывод

<code>$ phantomjs test.js
success
null
</code>

Что бы я ни старался,evaluate продолжит возвращатьсяnull, хотя страница, кажется, открылась нормально, потому чтоstatus содержит"success".

Если я решу открыть страницу без базовой аутентификации, например,http: //alexturpin.net/noaut, Я все еще получаю те же результаты. Только когда я окончательно удаляю настройки аутентификации перед открытием страницы, это работает.

Использование настроек аутентификации конфликтует сevaluate. Это ошибка в PhantomJS или я что-то упустил?

Ответы на вопрос (0)

12 мая 2012 г., 10:22 от FiloSottile

заменяя его толькоuserName а такжеpassword. Используйте этот код, чтобы установить их:

page.settings.userName = "test";
page.settings.password = "rosebud";

Вероятно, PhantomJS должен справиться с этим лучше, то есть не полагаться наsettings объект по умолчанию.

10 мая 2012 г., 20:34 от Xavier

попытайтесь поместить ваш console.log в обратный вызов

ВАШ ОТВЕТ НА ВОПРОС