Как я могу проверить, был ли уже получен ответ для Драматурга?

Используя Java, я пытаюсь дождаться ответа на один из сценариев Javascript, который я жду.

Я уже обнаружил, что могу использовать waitForResponse , но это приводит к проблемам, если скрипт уже завершил загрузку до того, как я достиг оператора waitForResponse.

Есть ли способ дождаться завершения сценария, но только если он еще не получен?

              page.waitForResponse("**/*<<Script reference>>*.js", () -> { });

Любая помощь будет принята с благодарностью!

1 ответ

Что вам нужно сделать, так это провести аудит всего трафика . Вот вам пример:

      import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;

public class Pw {
        public static void main(String[] args) {
            try (Playwright playwright = Playwright.create()) {
                BrowserType chromium = playwright.chromium();
                Browser browser = chromium.launch();
                Page page = browser.newPage();
                page.onResponse(response -> System.out.println(response.status() + " " + response.url()));
                page.navigate("https://playwright.dev/java/docs/network");
                browser.close();
            }
    }
}

ВЫХОД:

      200 https://playwright.dev/java/docs/network
200 https://playwright.dev/java/assets/css/styles.57a5681f.css
200 https://playwright.dev/java/js/redirection.js
200 https://playwright.dev/java/assets/js/main.bdc3f5b7.js
200 https://playwright.dev/java/assets/js/runtime~main.f37ee5cd.js
200 https://playwright.dev/java/img/playwright-logo.svg
200 https://playwright.dev/java/assets/js/04005ac5.4bff4e91.js

Таким образом, вы не пропустите свой запрос .
Надеюсь, я смог вам помочь.

Другие вопросы по тегам