繁体   English   中英

如何检查量角器中DOM元素的存在?

[英]How to check the presence of a DOM element in protractor?

只想单击注销链接(如果存在)。 如果该链接不存在,则不执行任何操作。

这是代码:

browser.get(browser.baseUrl + 'login');

var lnkLogOff = element(by.linkText('Log off'));
if (lnkLogOff.isPresent()) lnkLogOff.click();

看来没有错。 但是当链接不在页面上时出现NoSuchElementError

检查量角器中元素是否存在的正确方法是什么?

您可以使用isElementPresent()

var locator = by.linkText('Log off');
browser.isElementPresent(locator).then(function (present) {
    if (present) {
        element(locator).click();
    }
});

尝试使用此代码,看起来您不是在等待元素出现。

var waitElementToBeShown = function (elm) {
browser.wait(function () {
    return elm.isPresent();
},15000);
browser.wait(function () {
    return elm.isDisplayed();
},15000);

};

第一部分对应于DOM中元素的存在,第二部分对应于单击它的能力

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM