javascript - getElementByClass 无法返回数据时的错误处理

标签 javascript node.js

我想知道在这种情况下错误处理是如何工作的。我正在抓取一页 10 件商品的价格。如果 1 件商品售完,价格就会消失。刮板会中断,因为它正在寻找不在这里的类,因此它需要一个错误处理程序来打印“错误,已售完”之类的内容。我不知道如何做到这一点。有人可以给我推荐一本好书,以便我可以了解错误处理程序的工作原理吗?

const prijs = await page.evaluate(
    () => document.getElementsByClassName("price")[0].innerText;// Error handling needed here
);

最佳答案

你可以这样做:

const prijs = await page.evaluate(
  () => {
        var results = document.getElementsByClassName("price")
        return results.length ? results[0].innerText : "Error, sold out"
    }
);

您将在其中检查实际数组是否有元素,如果没有则返回错误字符串。

关于javascript - getElementByClass 无法返回数据时的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52570744/

相关文章:

javascript - 如何使用 jquery 检查日期不能小于当前日期?

Node.js、AWS Cognito - 前端登录,后端用户验证

javascript - Mongoose:类型错误: 'mongooseSchemahere' 不是函数

javascript - 用于在 Node JS 中进行身份验证的 Passport

javascript - 比 for 循环 + lodash 组合更机器有效的方法是什么?

javascript - Bootstrap 示例中未显示数据表按钮

javascript - 完成表单后如何添加图像

javascript - JavaScript 变量的范围

javascript - multer上传不工作

javascript - 如何访问传递给 Node 中的 next() 函数的值