有没有 less "hacky" 方法来检查项目可见性?

Is there a less "hacky" way to check an items visibility?

我正在测试单页应用程序,当用户单击相应的图标时会显示导航页面。如果页面已经打开,我想在单击之前检查并查看。页面上有公司名称标签。只有在显示导航页面时,肉眼才能真正看到它。

我 运行 遇到的问题是 .isDisplayed() 在我使用它时返回 true。我也使用了 EC.visibilityOf() 和 returns true。下面的工作,我只是不满意,想知道是否有更好的方法。

    navigationOpenClick() {
    if (this.EC.elementToBeSelected(this.navPage.companyName)) {
        this.navIcon.click();
    }
}

脑子有些胀气,忘记了.isDisplayed()returns一个承诺。一旦我解决了这个承诺,.isDisplayed() 就会像它应该的那样工作。

我的 "hacky" 工作代码如下:

   navigationOpenClick() {
    this.navPage.companyName.isDisplayed().then((displayed) => {
        if (!displayed) {
            this.navIcon.click();
        };
    });
}