【发布时间】:2013-07-13 21:04:26
【问题描述】:
使用承诺的网络驱动程序,我想检查页面上是否存在元素,如果存在则登录,否则继续使用承诺链。
【问题讨论】:
标签: intern
使用承诺的网络驱动程序,我想检查页面上是否存在元素,如果存在则登录,否则继续使用承诺链。
【问题讨论】:
标签: intern
在 Intern 2 中,只需使用普通的find 命令:
var remote = this.remote;
remote.get(url)
.findById('foo')
.then(function (element) {
// exists
}, function () {
// does not exist
});
在实习生 1 中,如果您需要条件分支,则需要停止并根据检查结果添加新指令。
var remote = this.remote;
remote.get(url)
.elementByIdIfExists('foo')
.then(function (element) {
if (element) {
remote.clickElement()
.type('foo');
// ...etc.
}
});
这应该在 Intern 1.1 中工作只有如果您在没有其他已存在的命令待处理时向远程承诺链添加新命令。 Intern 1.2 将包含消除此限制的改进。这是第 14 期。
【讨论】:
remote.find…().then(exists, doesNotExist)