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



我在selenium webdriver node.js中设置了一个if else条件,以检查字符串是否包含"添加新"字符串,但我得到了错误Unable to locate element: // *[contains(text(),'Add New')]

这是代码:

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

试试这个

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

注意:第一种方法应该快得多,因为第二种方法会尝试等待隐含的等待时间,然后再为找不到的元素抛出错误。

相关内容

  • 没有找到相关文章

最新更新