dotnetbrowser - как сохранить конкретное изображение c # - PullRequest
0 голосов
/ 26 октября 2018

Как сохранить в файл определенный тег изображения сайта, загруженного внутри dotnetbrowser, без получения изображения из URL?C #.

Как: e.Browser.GetDocument (). GetElementByName ("imgA")). Сохранить ("C: \ aaaa.jpg");

1 Ответ

0 голосов
/ 26 октября 2018

На основании документации API, GetElementByName возвращает объект DOMElement. И нет метода с именем Save() внутри DOMElement объекта.

Предположим, у меня есть 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>

Итак, сначала вам нужно получить TextContent (который является URL-адресом изображения) от DOMElement

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 вместо DotNetBrowser DownloadHandler. Так что вы можете загрузить изображение с URL-адреса следующим образом:

using (var client = new WebClient()) client.DownloadFile(url, "C:\\aaaa.jpg");

Подробнее о WebClient.DownloadFile: https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient.downloadfile?view=netframework-4.7.2

...