Дождитесь ответа формы после отправки с помощью button.click () - PullRequest
1 голос
/ 05 октября 2019

Я использую Puppeteer для отправки формы, и я не могу понять, как ждать ответа, потому что нормальные подходы не работают.

Отправка должна быть сделана путем вызова click() на кнопке отправки, а не вызова form.submit(), что на этой веб-странице приводит к ошибке, которую я не могу контролировать. Поэтому это не работает:

await page.$eval('#form', form => form.submit);

Отправка формы не приводит к переходу на новую страницу, а скорее изменяет HTML-код на месте. Я также пробовал waitForNavigation с каждым параметром waitUntil, ни один не работает.

Есть ли другие способы, которые я могу попробовать? Спасибо

1 Ответ

2 голосов
/ 06 октября 2019

Отправка формы не приводит к переходу на новую страницу, а скорее изменяет HTML-код на месте.

В этом случае вы можете ждать селектора CSS на странице . waitForSelector

Например, если после успешной отправки над формой отображается сообщение об успешном завершении, просто подождите, пока этот селектор CSS не появится в домене:

await page.waitForSelector('form div.success');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...