.isPresent() 建议编辑
确定元素是否在 DOM 中存在。
命令 isPresent()
将自动等待元素存在(直到指定超时)。如果找不到元素,则会抛出错误,导致测试失败。您可以通过将 selector
参数指定为对象并将 suppressNotFoundErrors = true
选项传递来抑制找不到元素的错误。
用法
.isPresent(selector, [callback])
.isPresent(using, selector, [callback])
示例
module.exports = {
demoTest(browser) {
browser.isPresent('#main ul li a.first', function(result) {
this.assert.equal(typeof result, "object");
this.assert.equal(result.status, 0);
this.assert.equal(result.value, true);
});
// with explicit locate strategy
browser.isPresent('css selector', '#main ul li a.first');
// with selector object - see https://nightwatch.node.org.cn/guide/writing-tests/finding-interacting-with-dom-elements.html#postdoc-element-properties
browser.isPresent({
selector: '#main ul li a',
index: 1,
});
browser.isPresent({
selector: '#main ul li a.first',
timeout: 2000 // overwrite the default timeout (in ms) to check if the element is present
});
},
demoTestAsync: async function(browser) {
const result = await browser.isPresent('#main ul li a.first');
console.log('isPresent result', result);
}
}
参数
名称 | 类型 | 描述 |
---|---|---|
使用 可选 |
字符串 | 要使用的定位器策略。见 W3C Webdriver - 定位器策略 |
选择器 |
字符串 | 对象 | 用于定位元素的选择器(CSS/Xpath)。可以是字符串,也可以是指定 元素属性 的对象。 |
回调 |
函数 | 使用结果值调用的回调函数。 |