在量角器中单击if元素是否可单击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在量角器中单击if元素是否可单击相关的知识,希望对你有一定的参考价值。

在网站上我有时会有一些额外的按钮,用于恢复表单中填写的自动保存数据,随机时刻弹出(有时会有人测试某些内容和关闭表单,从而导致弹出按钮)。我尝试使用以下代码与Continue if element is not visible in protractor

let DoNotRefillBtn=element.all(by.className('modal-button-no'));
    var isApproachable = function(element) {
        return element.isPresent().then(function (present) {
            return present
                ? element.isDisplayed()
                : false;
        });
    };

describe(...)
    it('Open the form:', function () {
            browser.driver.get('foo');
            browser.sleep(1000);
            isApproachable(DoNotRefillBtn).then(function(approachable) {
                if (approachable) {
                    DoNotRefillBtn.click();
                    browser.sleep(500);
                }
                else {
                    browser.sleep(300);
                }
            });

它点击正确,但点击后,它会在行Failed: element not visible上抛出错误DoNotRefillBtn.click();

为什么程序会点击并抛出一个错误,即该东西不可点击(点击后)?

答案

我使用了一种解决方法,该按钮带有状态消息“你想重新填写表单吗?”。因此,当我检查状态消息并单击按钮时,似乎正在工作:

let StatusMessage=element.all(by.className('status-message'));
let DoNotRefillBtn=element.all(by.className('modal-button-no'));
var isApproachable = function(element) {
   return element.isPresent().then(function (present) {
      return present
        ? element.isDisplayed()
          : false;
    });
};

describe(...)
it('Open the form:', function () {
        browser.driver.get('foo');
        browser.sleep(1000);
        isApproachable(StatusMessage.get(8)).then(function(approachable) {
                if (approachable) {
                    DoNotRefillBtn.get(0).click();
                    browser.sleep(500);
                }
            });
    });
});

StatusMessage.get(8)是8,因为有更多的消息具有相同的类,但不显示。我计算哪个status-message是那个,它似乎正在工作 - 如果显示关闭弹出窗口,但跳过它不是。

可能检查按钮并单击它会产生一些问题

以上是关于在量角器中单击if元素是否可单击的主要内容,如果未能解决你的问题,请参考以下文章

滚动到量角器中的第一个ng-repeat元素,然后单击

Stack:WebDriverError:元素不可交互-量角器e2e

单击模态窗口中的按钮 - 量角器

无法使用量角器单击页面右侧的“登录”链接

量角器:单击按钮后如何等待页面完成?

使用量角器在 Shadow-root 中定位元素