如何检测导航后页面是否显示带有某些消息的警报。
p操纵者可以检测或识别该页面是否显示了警报框。
我尝试了
page.on('popup', ()=> {
console.log('popup detected');
});
还
page.on('dialog', ()=> {
console.log('popup detected');
});
答案 0 :(得分:1)
如评论中所述:如果您在调用page.goto
之后注册事件处理程序(您的代码),则在侦听事件之前已经触发了该事件。
因此,请确保在您的代码后调用page.goto
。
答案 1 :(得分:0)
这是我的两分钱:
private async gotoPage(path):Promise<Response|Result> {
return new Promise(async(resolve, reject) => {
await Promise.all([
this.page.on('dialog', async (dialog) => {
await dialog.dismiss().catch(() => {
console.log(dialog.message());
return new Result(TestStatus.FAIL, dialog.message());
});
}),
this.page.goto(`${this.baseURL}${path}`),
this.page.waitForNavigation({ waitUntil: 'load' })]).then(
async () => {
resolve(new Result(TestStatus.PASS, `Loading to path success : ${path}`));
},
async () => {
reject(new Result(TestStatus.FAIL, `Could not GotoPage : ${path}`));
});
});
}