Как бы я вычищал текст из iframe с помощью puppeteer.
В качестве простого воспроизводимого примера соскребите This is a paragraph
из iframe этого URL-адреса.
https://www.w3schools.com/js/tryit.asp?filename=tryjs_events
Как бы я вычищал текст из iframe с помощью puppeteer.
В качестве простого воспроизводимого примера соскребите This is a paragraph
из iframe этого URL-адреса.
https://www.w3schools.com/js/tryit.asp?filename=tryjs_events
Чтобы очистить текст iframe
в puppeteer, вы можете использовать page.evaluate
puppeteer для оценки JavaScript в контексте страницы, которая возвращает содержимое iframe
.
Шаги для этого:
iframe
document
iframe
.document
для чтения HTML-кода iframe
Я написал эту программу, которая получает This is a paragraph
по предоставленной вами :
const puppeteer = require("puppeteer");
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.w3schools.com/js/tryit.asp?filename=tryjs_events');
const iframeParagraph = await page.evaluate(() => {
const iframe = document.getElementById("iframeResult");
// grab iframe's document object
const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
const iframeP = iframeDoc.getElementById("demo");
return iframeP.innerHTML;
});
console.log(iframeParagraph); // prints "This is a paragraph"
await browser.close();
})();
Я знаю, что на этот вопрос уже есть ответ, но если, возможно, кто-то захочет использовать другой подход, при котором вы можете получить содержимое из iframe и использовать cheerio для перемещения по элементам и получения текста любого элемента, который вы хотите - вы можете найти его здесь.