Javascript 如何使用Node.js+断言页面上存在元素;摩卡咖啡&x2B;硒?
我想验证网页上是否存在元素。据我所知,SeleniumV3删除了“isElementPresent”功能,并且还有其他一些方法来断言这一点。你能给我举一个没有驱动程序的例子吗 例如,我必须验证页面上是否存在“password”字段-如果真测试通过,如果假测试失败 如何使用Node.js+Mocha+Selenium实现这一点? 我如何断言,该元素存在Javascript 如何使用Node.js+断言页面上存在元素;摩卡咖啡&x2B;硒?,javascript,node.js,selenium,mocha.js,Javascript,Node.js,Selenium,Mocha.js,我想验证网页上是否存在元素。据我所知,SeleniumV3删除了“isElementPresent”功能,并且还有其他一些方法来断言这一点。你能给我举一个没有驱动程序的例子吗 例如,我必须验证页面上是否存在“password”字段-如果真测试通过,如果假测试失败 如何使用Node.js+Mocha+Selenium实现这一点? 我如何断言,该元素存在 var element = driver.findElement(webdriver.By.id("password")); assert.**?
var element = driver.findElement(webdriver.By.id("password"));
assert.**???**(element)
只需通过以下方式抓取元素即可进行检查
var element = document.querySelector("input[type='password']");
最好给元素一个id,并以这种方式获取它
var element = document.getElementById("password");
然后检查一下
if(element) {
// stuff
}
我刚刚遇到了同样的问题,我想出了一个解决办法 对于我的方法,我使用了以下方法:
assert.doesNotThrow(() => {
driver.findElement(webdriver.By.id("password"));
});
发生的事情是,每次我试图找到一个不存在的元素时,它都会引发一个异常。如果元素存在,则不会引发异常
在我的具体案例中,我使用了以下方法:
assert.doesNotThrow(() => { browser.getText('.alert.alert-danger') });
它似乎工作得很好。如果更改,我将更新。使用以下命令获取元素
var element = document.getElementById("password");
现在通过断言来检查你是否得到了它
assert.notEqual(element , null);