【发布时间】:2020-01-08 20:30:43
【问题描述】:
我看到有人问过这个问题,但我无法确定我做错了什么。
错误:UnhandledPromiseRejectionWarning:错误:评估失败:ReferenceError:页面未定义
const page = await browser.newPage();
await page.goto('https://example.com');
const getAllElements = await page.$$eval('.aclass', links => {
links.map(link => {
page.hover(link);
page.screenshot({path: `example${link}.png`});
})
})
预期的行为是我去 example.com,然后我得到所有 .aclass 元素。将这些作为“链接”返回,然后我映射到每个链接,这应该给我链接中的每个元素。然后我期望能够 page.hover 和 page.screenshot。但是这是我得到页面不是错误的地方定义。知道我做错了什么吗?
【问题讨论】:
-
$$eval()在页面上下文中执行,而不是 puppeteer。使用page.$$()获取元素,而不是在 puppeteer 上下文中迭代这些元素。
标签: puppeteer