我在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);
}
注意:第一种方法应该快得多,因为第二种方法会尝试等待隐含的等待时间,然后再为找不到的元素抛出错误。