我正在使用puppeteer js抓取一个网页。我正在写以下行以获取卖方的名称。在某些页面上,它具有卖方名称,在某些页面上,它没有任何卖方名称。
let seller = document.querySelector(".seller-name").textContent;
页面上有卖家名称时,它会给我该文字。但是,当它没有任何卖家名称时,就会出现以下错误。
Fatal Error: Evaluation failed: TypeError: Cannot read property 'textContent' of null
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
您将要防止页面上没有与该选择器匹配的元素。您应该可以轻松做到:
let sellerEl = document.querySelector(".seller-name");
if (sellerEl) {
let seller = sellerEl.textContent;
}
null的“真实值”为false,因此如果页面上没有元素为seller-name
的元素,则'if'块中的代码将不会执行。
答案 1 :(得分:1)
仅在获取文本内容之前检查元素是否存在。
const sellerDiv = document.querySelector(".seller-name")
let seller = ""
if(sellerDiv) {
seller = sellerDiv.textContent;
} else {
seller = ""
}
console.log(seller)