я пытаюсь сделать некоторые тесты с phantomjs ... в основном я хочу:контролируется асинхронной выход из phantomjs
- открыть страницу на моем веб-сервере
- когда страница инициализируется все JS страницы (загрузила)
- вызова страницы JS из phantomjs и проверить результаты
- выход phantomjs
кажется трудным для phantomjs т o обратите внимание, когда страница загрузилась.
Я мог бы использовать phantomjs для установки переменной «test» в окне или что-то еще, чтобы страница js могла проверить это, а затем вызвать обратный вызов после его завершения. Проблема в том, что обратный вызов может быть только обратным вызовом страницы, поэтому он не может делать ничего, что не могла выполнить страница.
Это может быть хорошо для tess, но последний шаг невозможен.
Я пришел с этим:
page.onConsoleMessage = function(msg) {
if (msg == "__quit__") {
phantom.exit();
}
else {
console.log("page: " + msg);
}
};
page.evaluate(function() {
window.quit = function() { console.log("__quit__"); };
});
Поэтому код страницы можно назвать window.quit() и монитор консоли затем может убить фантом. Это кажется немного взломанным. У кого-нибудь есть лучший способ сделать это?
ничего не получили здесь, очевидно, так что я сделал веб-сервер для работы в phantomjs, он работает немного лучше: https://github.com/nicferrier/ phantomjsel/blob/master/ghostweb.js –
Вы не можете подключиться к onLoadFinished обратному вызову объекта веб-страницы? http://code.google.com/p/phantomjs/wiki/Interface –
Я даже не думал об этом. вы должны ответить :-) –