0

我在 C# 中创建了一个小的 Playwright 程序,它提交一个 Url,在返回的文档上找到一个按钮,选择该文档上的一个按钮并“单击”它。如果我使用 Fiddler,我可以看到“点击”会生成一个显示返回 JSON 的 POST,但我似乎找不到任何允许我返回这个 JSON 的 Playwright 方法或例程。这是片段:

IPlaywright playwright = await Playwright.CreateAsync();
IBrowser browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
{
    Headless = true
});
IBrowserContext context = await browser.NewContextAsync();
IPage page = await context.NewPageAsync();
await page.GotoAsync(some_url);
IElementHandle button = await page.QuerySelectorAsync("a[id^='date-filter-update']");
if (button != null)
{
    await button.ClickAsync();
    await page.WaitForLoadStateAsync(LoadState.DOMContentLoaded);
    string response = await page.ContentAsync();    // <= returns HTML and I need JSON
}

任何人都可以帮助我从“await page.ContentAsync();”中获得“响应”吗?返回我可以在 Fiddler 中看到的 JSON?

4

1 回答 1

0

看看这个。您可以在 Playwright 中同时收听response和收听request网络事件。

page.on('response', response =>
      console.log(response.json()));
于 2022-03-05T20:48:55.137 回答