在 Puppeteer 中,如何获取选择器的 innerHTML?

Mar*_*ary 3 javascript innerhtml node.js puppeteer

目前,我正在尝试以下操作:

const element = await page.$("#myElement");
const html = element.innerHTML;
Run Code Online (Sandbox Code Playgroud)

我期待打印 HTML,但我得到了undefined.

我究竟做错了什么?

Gra*_*ler 6

page.evaluate():

您可以使用page.evaluate()来获取innerHTML元素的 :

const inner_html = await page.evaluate(() => document.querySelector('#myElement').innerHTML);

console.log(inner_html);
Run Code Online (Sandbox Code Playgroud)

elementHandle.getProperty() / .jsonValue():

另外,如果必须使用page.$(),您可以访问innerHTML的使用组合elementHandle.getProperty()elementHandle.jsonValue()

const inner_html = await (await (await page.$('#myElement')).getProperty('innerHTML')).jsonValue();

console.log(inner_html);
Run Code Online (Sandbox Code Playgroud)