У меня проблемы с записью элемента на странице после проверки, существует ли он. Блок кода, на который я ссылаюсь, находится под комментарием "// phone" .
Этот код просматривает каждый раздел (раздел разделов) на странице и записывает "company" и "телефон". «Телефон» может отсутствовать в некоторых разделах, поэтому я решил передать его через оператор if, чтобы проверить, существует ли он. Это создает ошибку = "Ошибка: не удалось найти селектор соответствия элементов" .mn-contact-phone "" Как мне решить эту проблему?
(async () => {
try {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
// loop through pages
for (let pg = 1; pg < 5; pg++) {
await page.goto("webpage");
// record number of sections
const sections = await page.$$("#mn-members-listings > div");
// loop through each section
for (const section of sections) {
// company
let company = await section.$eval(
"div.mn-searchlisting-title",
comp => comp.innerText
);
// phone --> THIS IF/ELSE THROWS AN ERROR
if (section.$(".mn-contact-phone").length > 0) {
let phone = await section.$eval(".mn-contact-phone", phn => phn.innerText);
} else {
let phone = "";
}
console.log(`Company = ${company} | Phone = ${phone}`);
}
}
await browser.close();
} catch (error) {
console.log(`Our error is = ${error}`);
}
})();