if-statement - 量角器:Else 语句未按预期工作
问题描述
我正在尝试单击一个链接(如果存在),如果不存在,则应添加相应的链接,然后单击该链接。
在下面的 If 循环中,如果不满足第一个条件,则不会执行“Else”条件。如果将其放置在 IF 循环之外,则同样有效。
我很困惑。
有人可以帮我解决这个问题吗?
var ConfigLink = element.all(by.partialLinkText('Provide Configuration')).get(0);
ConfigLink.isDisplayed().then(function(result) {
if (result) {
ConfigLink.click();
}
else {
element.all(by.css('input[name="checks"]')).get(0).click();
}
});
如果初始 If 条件失败,我希望脚本执行 else 部分,但这不起作用。
请建议如何解决这个问题谢谢
解决方案
找到了答案。将 isDisplayed() 替换为 'isPresent()' 并且代码现在似乎工作正常,没有任何问题。这是有道理的,因为 isDisplayed() 假定元素已经存在。如果该元素不存在,则应引发错误。
推荐阅读
- android - 如何在 Android 中获取联系人的名字?
- numpy - numpy 和 matplotlib :二维图中轮廓内的积分
- jacoco - Jacoco 测试覆盖率低于预期
- typescript - 将类型生成为基于另一种类型的属性按顺序键入的元素数组
- javascript - 将 JS 对象推送到数组覆盖现有对象
- git - 格瑞特![远程拒绝] HEAD -> refs/for/dev (branch dev not found) 错误:未能将一些 refs 推送到“项目”
- laravel - BindingResolutionException 目标类 [hash] 部署后不存在
- reactjs - React - 我可以使用不同类型的数据设置状态吗?
- git - gitlab 提交线程在条件下自动创建
- angular - 使用对象数组和 *ngFor 动态添加 Angular 组件