I have a puppeteer js code which works fine and i would like to handle error when elements doenst exists cause i get the error below :
so i would like to save null value if the selector doesn't exist
1 : this is the first code that works
for (var i = 0; i < urls.length; i++) {
const name2 = await page.$eval('div > div > span > div > h1', ele => ele.textContent);
console.log(name2);
if (name2 !== "Null") {
fs.appendFile(
"files/data.csv",
${name2}\n`,
function (err) {
if (err) throw err;
}
);
}
}
2 : second method name value keep null
for (var i = 0; i < urls.length; i++) {
let name = 'Null';
try {
name = await page.evaluate(
(el) => el.querySelector("div > div > span > div >
h1").textContent,
i
);
} catch (error) { }
console.log(name);
if (name !== "Null") {
fs.appendFile(
"files/data.csv",
${name}\n`,
function (err) {
if (err) throw err;
}
);
}
}