在selenium webdriver node.js中找不到元素错误

在selenium webdriver node.js中找不到元素错误,node.js,selenium,selenium-webdriver,selenium-chromedriver,Node.js,Selenium,Selenium Webdriver,Selenium Chromedriver,我在selenium webdriver node.js中设置了一个if-else条件来检查字符串是否包含“Add-New”字符串,但我发现错误无法定位元素://*[包含(text(),'Add-New')] 代码如下: if(driver.findelelement(By.xpath(“/*[contains(text(),'addnew')])){ 拒绝(新错误(“这是一个错误”); }否则{ 决心(正确); } 试试这个 string bodyText = driver.findElem

我在selenium webdriver node.js中设置了一个
if-else
条件来检查字符串是否包含“Add-New”字符串,但我发现错误
无法定位元素://*[包含(text(),'Add-New')]

代码如下:

if(driver.findelelement(By.xpath(“/*[contains(text(),'addnew')])){
拒绝(新错误(“这是一个错误”);
}否则{
决心(正确);
}
试试这个

 string bodyText = driver.findElement(By.xpath("//body")).text;
 if (bodyText.Contains('Add New')) {
      reject(new Error("This is an error"));
  } else {
      resolve(true);
  }

注意:第一种方法应该要快得多,因为第二种方法会在抛出找不到元素的错误之前尝试等待隐式等待时间

try {
    driver.findElement(By.xpath("// *[contains(text(),'Add New')]"));
    reject(new Error("This is an error"));
}
catch (ElementNotFound e) {
    resolve(true);
}