我有一个网页,在加载dom之后,javascript继续在页面上运行,并在页面上添加元素。在运行完所有javascript之后,我触发了一个jquery事件page.loaded,这样页面上有兴趣在运行所有javascripts之后执行某些操作的组件就可以执行此操作。
我正在尝试使用casperjs/phantomjs自动测试此网页,并且我只想在触发jQuery页面加载事件后检查页面上的元素。我该怎么做呢?
发布于 2012-11-20 15:38:07
查看waitFor系列函数,以便等待页面环境中发生的事情。您可以等待some element或text在DOM中可用,也可以直接添加特定的jQuery侦听器以处理进一步的步骤:
casper.start('test.html', function() {
this.evaluate(function() {
$(document).on('site:loaded', function() {
window.siteLoaded = true;
});
});
});
casper.waitFor(function() {
return this.evaluate(function() {
return window.siteLoaded === true;
});
});
casper.then(function() {
// process further
});注意:这是一个虚构的伪代码,目的只是为了描绘概念。
https://stackoverflow.com/questions/13464851
复制相似问题