2

使用 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”

我是唯一一个遇到这种错误的人吗?

4

2 回答 2

1

如果您使用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在您刚刚创建的上下文中调用。

于 2020-01-25T18:06:17.117 回答
0

在试图消除这个错误之后,我得到的代码是这样的:

const browser = await playwright.chromium.launch()
const context = await browser.defaultContext()
const [page] = await context.pages()

await page.goto('http://example.com')

newContext()改为defaultContext().

于 2020-01-25T14:29:26.210 回答