Используя puppeteer, как я могу ждать, пока конкретный запрос xhr будет выполнен
Я тестирую свое приложение реакции и хочу проверить, отправлен ли запрос XHR из моего приложения. Когда я использую page.waitFor(5000), это иногда будет работать, но иногда нет. Есть ли лучший способ заставить код ждать завершения XHR или его разрешения?
1 ответ
Я думаю, что вам нужно изменить свою стратегию. Вместо ожидания в течение X секунд - вызвать событие, которое удовлетворит ваши потребности.
Поскольку вы тестируете свое собственное приложение, я предлагаю послушать сетевой трафик (после этого вопроса)
Короче:
- Включить проверку трафика
page.setRequestInterceptionEnabled
установлен вtrue
- Зарегистрируйте прослушиватель событий для каждого запроса
page.on('request'
- Проверьте (для каждого запроса), соответствует ли он вашему желаемому запросу (используя
request.url
имущество) - Вызовите свою функцию, когда URL соответствует желаемому запросу.