当前位置: 首页 > 知识库问答 >
问题:

如何处理Selenium Webdriver节点JS中的错误。NoSuchElementError[副本]

司空实
2023-03-14

当我运行测试时,有时我会得到以下错误:

“(节点:34959)unhandledpromiserejectionwarning:nosuchelementerror:没有这样的元素:无法定位元素:...”

测试停止。

我希望测试继续进行,而不是停止,但写一个消息到控制台。

我现在的代码:

var one = await driver.findElement(By.xpath("//td[.='somethig']/following-sibling::td[1]/strong"));
var two = await one.getText();
await fs.appendFileSync("file.txt", two + ",");

怎么可能?因为我不需要这个元素,以便进一步运行。谢谢:)

共有1个答案

施晗昱
2023-03-14

您只需要在trycatch中封装需要记录到控制台的错误。

let one = '';
let two = '';
try {
    one = await driver.findElement(By.xpath("//td[.='somethig']/following-sibling::td[1]/strong"));
    two = await one.getText();
} catch (error) {
    console.log(error);
}
await fs.appendFileSync("file.txt", two + ",");  
 类似资料:
  • 问题内容: 使用node / express-我想从请求标头中获取一些JSON,但我想安全地做到这一点。 如果由于某种原因它不是有效的JSON,那很好,它可以返回false或其他任何值,它将拒绝请求并继续执行。问题是,如果它不是有效的JSON,则会引发语法错误。通常,我希望语法错误能够爆发,但在这种情况下不希望。 我是否会刮取堆栈并检查来自该特定模块的错误解析调用,如果是这种情况,它将忽略它?这似

  • 我正在使用node。js npm模块mysql用于连接mysql数据库。 我看到有可能使用: 两个泳池都有。getConnection(),连接。query()和连接。释放() 关于第二种情况,我有两个问题。 1)是否有任何自动重新连接的情况下,错误,失去连接,而使用pool.query?(处理断开功能,而使用池? 2) 使用第一种方法,我可以设置连接。on('error',function(){

  • 我试图使用node连接mongodb。js。我偶然发现了一个问题。我正在得到要求(…)。pure不是函数错误。我试图使用这个网站上的确切代码“https://mongodb.github.io/node-mongodb-native/api-generated/collection.html“我的代码如下所示。 请让我知道你的建议。

  • 我已经启动了一个节点。使用express generator的js应用程序,我遇到了一个奇怪的问题,无法通过浏览器查看页面两次,第一次加载正常,第二次加载不正常,因为节点进程以以下错误结束: 包裹json

  • 问题内容: 我正在尝试通过express运行错误处理,但没有看到“错误!”的响应。就像我希望在控制台上看到“某些异常”一样,然后该进程被终止。这是应该如何设置错误处理的,如果可以的话,还有另一种捕获错误的方法吗? 问题答案: 有关错误处理的示例应用程序/指南可在https://expressjs.com/en/guide/error- handling.html 上找到, 但是应该可以修复您的代码

  • 问题内容: 使用节点8.4.0: 但是,以下错误也不是交互式的:(唯一的区别是分号) 同样在Chrome控制台中: 有人可以解释吗? 澄清度 这与按预期工作的let,var或cosnt解构无关。这与先前定义的变量(或非严格模式)有关:从chrome控制台: 问题答案: 将对象分解为现有变量的正确语法是 这允许成为一种表达。否则,将其解释为带有逗号运算符的块,这将导致错误。 它在控制台中不带括号和分