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

时间:2018-09-02 21:36:20

标签: javascript node.js innerhtml puppeteer

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

const element = await page.$("#myElement");
const html = element.innerHTML;

我希望可以打印HTML,但是我却得到undefined

我在做什么错了?

3 个答案:

答案 0 :(得分:3)

page.evaluate():

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

innerHTML

elementHandle.getProperty()/ .jsonValue():

或者,如果必须使用page.$(),则可以使用elementHandle.getProperty()elementHandle.jsonValue()的组合访问const inner_html = await ( await ( await page.$( '#myElement' ) ).getProperty( 'innerHTML' ) ).jsonValue(); console.log( inner_html );

{{1}}

答案 1 :(得分:0)

const html = await page.$eval("#myElement", e => e.innerHTML);

答案 2 :(得分:0)

您可以使用 page.$eval 访问 innerHTML pf 指定的 DOM。

Snippet sing page.$eval

const myContent = await page.$eval('#myDiv', (e) => e.innerHTML);
console.log(myContent);

jest-puppeter 搭配使用效果很好。