javascript - 在 puppeteer js 中抓取网页时出错

标签 javascript web-scraping puppeteer

我正在使用 puppeteer js 抓取网页。我正在编写以下行来获取卖家的姓名。在某些页面上,它有卖家名称,而在某些页面上,它没有任何卖家名称。

let seller = document.querySelector(".seller-name").textContent;

当页面有卖家名称时,它会向我提供该文本。但是当它没有任何卖家名称时,它会给我以下错误。

Fatal Error: Evaluation failed: TypeError: Cannot read property 'textContent' of null

谁能帮我解决这个问题吗?

最佳答案

您需要防止页面上没有与该选择器匹配的元素。您应该能够简单地执行以下操作:

let sellerEl = document.querySelector(".seller-name");
if (sellerEl) {
  let seller = sellerEl.textContent;
}

null 的“真值”为 false,因此如果页面上不存在 seller-name 类的元素,则 'if' block 内的代码将不会执行。

关于javascript - 在 puppeteer js 中抓取网页时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59026114/

相关文章:

javascript - Node Js & Puppeteer - 如何选择包裹在 anchor 标签内的文本

python - 从python中的网页集合中抓取html标签的快速方法

sqlite - Puppeteer 有 sqlite 吗?

node.js - 使用 puppeteer(库)进行网页抓取时克服分页

javascript - 延迟执行 Canvas JavaScript,直到加载字体

Python:If 语句和 Scrapy XPath 选择器

javascript - Chrome 自动填充输入 - 有事件吗?

node.js - puppeteer如何获取元素tagName

javascript - 模型不与模型 Sequelize 关联

javascript - 无法从js数组访问对象属性