Как закрыть всплывающее окно с сообщением с помощью драматурга?

#javascript #node.js #playwright #javascript-debugger

Вопрос:

Я только что изучил API драматурга и пытаюсь написать тест автоматизации. Тест заключается в том, чтобы войти в банковский счет и что-то с ним сделать. Все мои сценарии работали до тех пор, пока я не зашел на веб-сайт банка, где появилось окно с сообщением, и я не смог избавиться от него, используя метод «страница.нажмите ()», чтобы просто нажать кнопку «Закрыть».

Вот как я это делаю от состояния входа в систему до того момента, когда я застрял.

 await page.goto("<bank_website_url>");
await page.fill("#username", <bank_username>);
await page.click('input:has-text("Login")');
await page.fill('#password', <bank_password>);
await page.click('input:has-text("Login")');
 

После ввода имени пользователя и пароля меня направляют на веб-сайт банка, и там появляется окно с сообщением. То, что я хочу здесь сделать,-это снова использовать метод «ожидание страницы.нажмите ()», чтобы выбрать кнопку «закрыть» во всплывающем окне и закрыть его, но это не работает.

Прошу прощения, если мое заявление не совсем ясное. Надеюсь, есть кто-нибудь, кто может сказать мне, в чем могут быть потенциальные проблемы/ошибки. Спасибо!

Комментарии:

1. What I want to do here is again using the "await page.click()" method ... it but it doesn't work Пожалуйста, покажите в коде, как вы пытаетесь это сделать.

Ответ №1:

По умолчанию диалоги автоматически отклоняются Драматургом, поэтому вам не нужно их обрабатывать. Тем не менее, вы можете зарегистрировать обработчик диалогового окна перед действием, которое запускает диалог, чтобы принять или отклонить его.

 page.on('dialog', dialog => dialog.accept());
await page.click('button'); // trigger the dialog
 

См. Документ по адресу https://playwright.dev/docs/dialogs