Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Node.js+断言页面上存在元素;摩卡咖啡&x2B;硒?_Javascript_Node.js_Selenium_Mocha.js - Fatal编程技术网

Javascript 如何使用Node.js+断言页面上存在元素;摩卡咖啡&x2B;硒?

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.**?

我想验证网页上是否存在元素。据我所知,SeleniumV3删除了“isElementPresent”功能,并且还有其他一些方法来断言这一点。你能给我举一个没有驱动程序的例子吗

例如,我必须验证页面上是否存在“password”字段-如果真测试通过,如果假测试失败

如何使用Node.js+Mocha+Selenium实现这一点? 我如何断言,该元素存在

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);