首页 > 解决方案 > getElementByClass 无法返回数据时的错误处理

问题描述

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

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

标签: javascriptnode.js

解决方案


你可以这样做:

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

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


推荐阅读