单个元素,可以用 page.$eval() 获取元素文字,例如下面代码可以获得页面第一个 h1 元素的文字
puppeteer.launch(browserOptions).then(async browser=>{
page = await browser.newPage()
await page.setViewport(viewport)
await page.goto(url)
let h1 = await page.$eval('h1', node => node.innerText)
console.log(h1)
await browser.close()
})
另一种方法是用 page.evaluate() ,例如用下面的语句代替上面的倒数第2,3行:
let h1Handle = await page.$('h1')
let h1 = await page.evaluate(node => node.innerText, h1Handle)