如何在文件中保存在dotnetbrowser中加载的网站的特定标记图像,而不从url获取图像?C#。
喜欢:e.Browser.GetDocument((.GetElementByName("imgA"(。保存("C:\aaaa.jpg"(;
根据他们的API文档,GetElementByName
正在返回DOMElement
对象。并且在DOMElement
对象中没有名为Save()
的方法。
假设我有这样的html:
<!DOCTYPE html>
<html>
<body>
<img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" width="500" height="333">
</body>
</html>
因此,首先,您需要从DOMElement
中获取TextContent
(即图像url(
var url = e.Browser.GetDocument().GetElementByName("img").GetAttribute("src");
然后您可以将图像url加载到浏览器中。若要使用DotNetBrowser下载文件,您应该创建DownloadHandler
实例。以下是如何使用DotNetBrowser下载文件的示例:https://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000110026-file-downloads
但就我个人而言,我更喜欢使用WebClient而不是DotNetBrowserDownloadHandler.
。因此,您可以从url下载图像,如下所示:
using (var client = new WebClient()) client.DownloadFile(url, "C:\aaaa.jpg");
关于WebClient.DownloadFile:
的更多信息https://learn.microsoft.com/en-us/dotnet/api/system.net.webclient.downloadfile?view=netframework-4.7.2