嗨,我在puppeteersharp中抓取了一个网页,并使用下面的脚本获取画布项目上的图像,因为获取元素不会返回其中的背景图像:
var canvasItem = await reactElement.QuerySelectorAllAsync("canvas.flot-base");
string canvasImage = "";
if(canvasItem!=null)
foreach(var canvas in canvasItem)
{
canvasImage+=await canvas.EvaluateFunctionAsync("e=>e.toDataURL()");
await canvas.EvaluateFunctionAsync($"(e,{canvasImage})=>\{var ctx=e.getContext('2d');var img=new Image(); img.onload=function()\{ctx.drawImage(img,0,0);};img.src=canvasImage}", canvasImage);
}成功返回了base64字符串,但我不知道将其传递给evaluateFunctionAsync()脚本是否正确。有人能给我解释一下吗?亲切的问候
发布于 2021-08-31 14:39:39
你不需要那些支架。
await canvas.EvaluateFunctionAsync(@"(e, canvasImage)=> {
var ctx=e.getContext('2d');
var img=new Image();
img.onload=function() {
ctx.drawImage(img,0,0);};
img.src=canvasImage
}
}", canvasImage);https://stackoverflow.com/questions/69000555
复制相似问题