[英]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.