我想验证网页上是否存在该元素。据我所知,硒v3已被删除" isElementPresent"功能和其他一些方法来断言这一点。如果没有driver.isElementPresent,你能给我一个如何做到这一点的例子吗?
例如,我必须验证"密码"字段存在于页面上 - 如果传递了true测试,如果为false - 测试失败。
我怎样才能使用Node.js + Mocha + Selenium? 我怎么断言,那个元素存在?
var element = driver.findElement(webdriver.By.id("password"));
assert.**???**(element)
答案 0 :(得分:0)
只需用
之类的东西抓住它来检查元素var element = document.querySelector("input[type='password']");
更好的是给元素一个id并以那种方式获得
var element = document.getElementById("password");
然后检查它
if(element) {
// stuff
}
答案 1 :(得分:0)
我刚遇到同样的问题,我想出了一个解决方案。
对于我的方法,我使用了以下内容:
assert.doesNotThrow(() => {
driver.findElement(webdriver.By.id("password"));
});
发生的事情是,每当我试图找到一个不存在的元素时,它就会引发异常。如果元素存在,那么它不会抛出异常。
在我的特定实例中,我使用了以下内容:
assert.doesNotThrow(() => { browser.getText('.alert.alert-danger') });
它似乎运作良好。如果发生变化,我会更新。
答案 2 :(得分:0)
使用以下命令
获取元素var element = document.getElementById("password");
现在通过断言来检查你是否得到它或坚果,
assert.notEqual(element , null);