首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用casperjs处理jquery事件

问使用casperjs处理jquery事件
EN

Stack Overflow用户
提问于 2012-11-20 08:30:37
回答 1查看 1.8K关注 0票数 3

我有一个网页,在加载dom之后,javascript继续在页面上运行,并在页面上添加元素。在运行完所有javascript之后,我触发了一个jquery事件page.loaded,这样页面上有兴趣在运行所有javascripts之后执行某些操作的组件就可以执行此操作。

我正在尝试使用casperjs/phantomjs自动测试此网页,并且我只想在触发jQuery页面加载事件后检查页面上的元素。我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-20 15:38:07

查看waitFor系列函数,以便等待页面环境中发生的事情。您可以等待some element或text在DOM中可用,也可以直接添加特定的jQuery侦听器以处理进一步的步骤:

代码语言:javascript
复制
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
});

注意:这是一个虚构的伪代码,目的只是为了描绘概念。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13464851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档