我正在尝试用phantomjs做一些测试...基本上我想:
当页面加载时,phantomjs似乎很难注意到。
我可以使用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(),然后控制台监视器可以杀死幻像。这看起来有点哈哈。有没有人有更好的方法呢?
答案 0 :(得分:1)
免责声明:这是未经测试的代码
您可以附加到网页对象的onLoadFinished回调。这在PhantomJS的范围内执行,因此您将拥有所有变量。
这样的事情应该足够了:
page.onLoadFinished = function(){
page.evaluate(function() {
//call your testing code here
});
phantom.exit();
}