有没有办法通过Puppeteersharp下载显示在页面上的图片?
我知道我可以使用选择器来检索src,然后使用WebClient或HTTPRequest,但是我想知道是否可以直接这样做。
发布于 2021-02-21 00:00:54
如果有人需要它,下面是我使用的代码:
Base64Image img = new Base64Image();
using (Page page = await parentPage.Browser.NewPageAsync())
{
var tcs = new TaskCompletionSource();
page.Response += async (sender, e) =>
{
string contentType = null;
string[] imageMimeTypes = { "image/jpeg", "image/png", "image/webp", "image/gif" };
if (e.Response.Headers.ContainsKey("content-type"))
contentType = (string)e.Response.Headers["content-type"].ToLower();
if (e.Response.Headers.ContainsKey("Content-Type"))
contentType = (string)e.Response.Headers["Content-Type"].ToLower();
if (imageMimeTypes.Any(t => t == contentType))
{
img.ContentType = contentType;
await e.Response.BufferAsync().AsTask().ContinueWith(async (data) => img.Bytes = await data);
tcs.TrySetResult();
}
};
await Task.WhenAll(page.GoToAsync(uri.AbsoluteUri), tcs.Task);
await page.CloseAsync();
}
return img;https://stackoverflow.com/questions/65372341
复制相似问题