Я пытаюсь очистить HTML данные из переменной, которая содержит HTML данных. Вы можете увидеть мои аннотации, они помечены знаком «<<». К сожалению, <code>evaluate работает только на странице, а не в div
. Может ли кто-нибудь сказать мне, как я мог очистить информацию из переменной, содержащей HTML?
Возможно, есть другие методы очистки?
Я пробовал это в forEach
l oop как хорошо, но это привело к появлению первого mealname
исходного документа.
let mealName = htmlOfOneProduct.document.querySelector("div.meal__description-texts.js-meal-description-text > span > span").innerText;
Мой код с примечаниями:
const puppeteer = require('puppeteer');
function run () {
return new Promise(async (resolve, reject) => {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(" "); << Meal website
let urls = await page.evaluate(() => {
let results = [];
let items = document.querySelectorAll('div.meal__wrapper'); << Gets all the meals from a page
items.forEach((item) => {
let htmlOfOneProduct = item.innerHTML; << Gets the HTML of each meal
let mealName = htmlOfOne.evaluate(() => document.querySelector('meal-name').textContent); << Not working, should get the meal-name from the div.
results.push({
mealName: mealName
});
});
return results;
})
browser.close();
return resolve(urls);
} catch (e) {
return reject(e);
}
})
}
run().then(console.log).catch(console.error);