javascript - Playwright (Puppeteer) 上下文在启动时是一个空数组?
问题描述
使用 puppeteer 时,我曾经使用以下代码行获取新标签:
const browser = await puppeteer.launch()
const [page] = await browser.pages()
await page.goto('http://example.com')
这样做的主要目的是减少标签数量,我的应用运行得更轻。但是当我使用剧作家时,上下文似乎还没有包含任何页面。
const browser = await playwright.chromium.launch()
const context = await browser.newContext()
const [page] = await context.pages()
await page.goto('http://example.com')
我的代码正在运行,但我不断收到此错误消息:
(节点:47248)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“goto”
我是唯一一个遇到这种错误的人吗?
解决方案
如果您使用createIncognitoBrowserContext
.
const browser = await puppeteer.launch();
const context = await browser.createIncognitoBrowserContext();
const [page] = await context.pages(); //Page is null here
await page.goto('http://example.com');
createIncognitoBrowserContext
在木偶戏和剧作家中都是newContext
没有页面的。
正如您在回答中提到的,您可以使用默认上下文或newPage
在您刚刚创建的上下文中调用。