剧作家(木偶师)上下文在启动时是空数组?



使用木偶师时,我曾经使用以下代码行来获取新选项卡:

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( 未处理的承诺拒绝警告: 类型错误: 无法读取未定义的属性"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

尝试消除此错误后,我得到的代码如下所示:

const browser = await playwright.chromium.launch()
const context = await browser.defaultContext()
const [page] = await context.pages()
await page.goto('http://example.com')

我把newContext()改成defaultContext().

最新更新