在看完这个使用puppeteer的youtube视频后,我受到启发,想要尝试一下。但是我选择的起始项目似乎不太合适。
const puppeteer = require('puppeteer')
;(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('http://www.produktresume.dk/AppBuilder/search?page=0')
page.once('load', () => {
const drugs = page
.evaluate(() =>
[...document.querySelectorAll('div.entity-link')].map(item => item)
)
.catch(err => console.log(err))
console.log(drugs[0])
})
await browser.close()
})()
我在网上搜索了很多并失去了我尝试过的不同东西的轨迹...
我的问题是我没有在页面加载时调用 evaluate 方法。
page.evaluate()
是一个async
(Promise)方法吗?如果是的话,在page.once('load')
事件处理程序的上下文中,这可能是问题的根源。 - woozykingpage.goto
前添加page.once
,并在调用page.evaluate
时添加await
。 - kip