Как фиксировать запросы и ответы в Драматурге после нажатия кнопки?

#javascript #webautomation #playwright

Вопрос:

У меня есть следующий код драматурга :

 await page.goto(API_URL   "/login/");
await page.type('input[name="userName"]', username);
await page.type('input[name="password"]', password);
await page.click('button#submit');
 

что произойдет, это приведет примерно к трем перенаправлениям. Последнее перенаправление-на псевдоадрес (в основном строка), содержащий учетные данные. Мне нужно извлечь это. Как я могу этого достичь?

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

1. Как насчет использования waitForURL с какой-нибудь маской?

2. @hardkoded в структуре драматурга нет функции ожидания

3. Хорошо, подождите несколько дней для версии 1.1 🙂

4. Я вижу 😉 Я действительно нашел ответ, который сработал для меня, см. Ниже.

Ответ №1:

Нужно добавить:

  const response = await page.waitForRequest(url => url.url().includes('templateFrom3rdRedirect'));
 

где 'templateFrom3rdRedirect' находится часть URL-адреса, уникальная для необходимого «перехода» последнего перенаправления, которая фиксирует вызов псевдо-URL (который позже будет найден по адресу response.url() ).