处理对话框立即在新选项卡中打开
Handle dialog immediately opened in new tab
我正在为 link 通过新选项卡打开应用程序的情况编写 Playwright 测试。用户单击 link,并打开一个带有自定义应用程序的新选项卡 url。
浏览器通常会询问“是否要打开此 link”,用户必须单击接受或取消。
在 Playwright 中,新页面被阻止,直到 对话框被确认。如果我无权访问该页面,是否可以通过某种方式监听对话事件?
const context = page.context();
async function newPageOpened(): Promise<void> {
const newPage = await context.waitForEvent('page')
// I won't have access to newPage unless I manually click the Accept button
newPage.on('dialog', (dialog) => {
void dialog.accept();
});
}
async function action(): Promise<void> {
// Click the link
}
await Promise.all([newPageOpened, action()])
该对话框是 Chrome(仅)实现。剧作家不知道如何处理它们。因此,您将无法使用 dialog
事件将其关闭。
可以关注这个issue here.
我正在为 link 通过新选项卡打开应用程序的情况编写 Playwright 测试。用户单击 link,并打开一个带有自定义应用程序的新选项卡 url。
浏览器通常会询问“是否要打开此 link”,用户必须单击接受或取消。
在 Playwright 中,新页面被阻止,直到 对话框被确认。如果我无权访问该页面,是否可以通过某种方式监听对话事件?
const context = page.context();
async function newPageOpened(): Promise<void> {
const newPage = await context.waitForEvent('page')
// I won't have access to newPage unless I manually click the Accept button
newPage.on('dialog', (dialog) => {
void dialog.accept();
});
}
async function action(): Promise<void> {
// Click the link
}
await Promise.all([newPageOpened, action()])
该对话框是 Chrome(仅)实现。剧作家不知道如何处理它们。因此,您将无法使用 dialog
事件将其关闭。
可以关注这个issue here.