javascript - getElementByClass 无法返回数据时的错误处理
问题描述
我想知道在这种情况下错误处理是如何工作的。我正在抓取一页的价格,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"
}
);
您将在哪里检查实际数组是否有元素,如果没有则返回错误字符串。
推荐阅读
- sql - 在 select 语句中使用函数,我可以在同一个 select 语句中使用函数的结果吗?
- php - 用 PHP 安排每月一次的活动
- python - 查找树中的所有后代
- python - scrapy - 使用正确的扩展名下载
- pyspark - Spark dataframe date_add 函数在不工作时带有大小写
- kubernetes - GKE 中的容器无法 ping 同一网络上的计算实例
- assets - Akeneo 调整资产变化的大小保持比例
- java - 如何从活动中启动特定的 tablayout 片段
- ios - react-navigation-fluid-transitions 共享图像闪烁
- python - PyQt5 TableView 杀死内核