Как в phantomJs дождаться загрузки страницы?

Я открываю страницу. На ней форма авторизации. Я заполняю ее и делаю submit(). В этом же окно появляется кнопка с id='install_allow', на которую мне надо нажать. У меня это получилось сделать только с использованием таймаута. Как это сделать без него?

Вот это работает:
page_get_code.open(url_get_code, function (status) {
    page_get_code.evaluate(function(login, passwd) {
        document.querySelector("input[name=email]").value = login;
        document.querySelector("input[name=pass]").value = passwd;
        document.querySelector("#login_submit").submit();
    }, login, passwd);

    setTimeout(function(){
        page_get_code.evaluate(function() {
            document.querySelector("#install_allow").click();
        });
    }, 3000);
});


Пробовала сделать так, но кнопка Install_allow не нажимается:
page_get_code.open(url_get_code, function (status) {
    page_get_code.evaluate(function(login, passwd) {
        document.querySelector("input[name=email]").value = login;
        document.querySelector("input[name=pass]").value = passwd;
        document.querySelector("#login_submit").submit();
    }, login, passwd);

    page_get_code.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
        page_get_code.evaluate(function() {
            $( document ).ready(function(){
                $("#install_allow").click();
            });
        });
    });
});

Пробовала сделать через событие onLoadFinished, но тоже не сработало.
  • Вопрос задан
  • 914 просмотров
Решения вопроса 1
kovalenko_jul_s
@kovalenko_jul_s Автор вопроса
var count_load = 0;
page_get_code.onLoadFinished = function(status) {
    count_load++;
    if(count_load == 2){
        page_get_code.evaluate(function() {
            if(document.getElementById("install_allow")){
                document.getElementById("install_allow").click();
            }
        });
    }
};
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы