首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript变量的Nightmare.js wait()

javascript变量的Nightmare.js wait()
EN

Stack Overflow用户
提问于 2017-05-08 02:54:54
回答 1查看 1.2K关注 0票数 0

如何使用nightmare.js wait()来检查是否加载了javascript对象/变量?

我正在测试一个严重依赖javascript来呈现内容的网页。我正在使用Nightmare.js,在注入数据和运行测试之前,我需要等待加载javascript。但是,我还没有找到一种使用nightmare.js wait()来处理javascript的方法。

我试过这样的方法:

代码语言:javascript
复制
nightmare
.goto('file:\\\\' + __dirname + '\\index.html');
.wait("#ext-quicktips-tip") //make sure index.html is loaded
.wait(function() {
    return App.app //should return true when App.app is available
  }
.end()
.then();

我试过使用调试控制台,页面加载得很好。App.app在控制台中是可用的,但是nightmare.js永远不会看到App.app

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-08 03:14:43

正如在Nightmare.js的API文档中解释的那样,如果您将一个函数传递给wait方法,它应该返回true来告诉Nightmare.js它可以恢复测试。

因此,如果您希望测试等到App.app可用时,可以让您的函数返回一个布尔表达式,如果它存在,即不是undefined,如下所示:

代码语言:javascript
复制
nightmare
.goto('file:\\\\' + __dirname + '\\index.html');
.wait("#ext-quicktips-tip") //make sure index.html is loaded
.wait(function() {
    // return true when App.app is available
    return typeof App.app !== undefined;
}
.end();

请注意,我忽略了原始代码片段中的最后一个then --这是多余的。

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

https://stackoverflow.com/questions/43839074

复制
相关文章

相似问题

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