How to download a file with Puppeteer Sharp?

Viewed 815

Here is the code that works but it doesn't wait until the completion. How do I make sure the file has been saved?

    var browser = await Puppeteer.LaunchAsync(new LaunchOptions
    {
        ExecutablePath = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
        Headless = false,
    });
    var page = (await browser.PagesAsync()).First();
    page.Response += async (object sender, ResponseCreatedEventArgs e) =>
    {
        if (e.Response.Url.Contains(".mp4"))
        {
            byte[] buff = await e.Response.BufferAsync();
            File.WriteAllBytes($"{DateTime.UtcNow.ToFileTime()}.mp4", buff);
        }
    };
    await page.GoToAsync("https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4");
    await Task.Delay(30000);
0 Answers
Related