javascript – 从Iframe抓取文本

如何用木偶操纵者从iframe中抓取文本.

作为一个简单的可重现的例子,scrape,这是来自这个url的iframe的段落

https://www.w3schools.com/js/tryit.asp?filename=tryjs_events

解决方法:

要在puppeteer中抓取iframe的文本,您可以使用puppeteer的page.evaluate来评估返回iframe内容的页面上下文中的JavaScript.

这样做的步骤是:

>抓住iframe元素
>获取iframe的文档对象.
>使用文档对象读取iframe的HTML

我写了这个程序来抓住这是一个来自link you provided的段落:

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();

})();
上一篇:javascript – pupeteer debuging:找到哪条线路正在酝酿错误


下一篇:力扣3. 无重复字符的最长子串---滑动窗口+哈希表