c # сохранить содержимое браузера IE как HTML - PullRequest
2 голосов
/ 08 января 2011

У меня открыто окно Internet Explorer. Заголовок этого окна всегда будет «test123» как сохранить источник содержимого окна в виде файла HTML?

Обратите внимание, что процесс не должен открывать URL-адрес и читать HTML-код в переменную. Я абсолютно ДОЛЖЕН сделать это так, как я описал, поскольку мне нужно войти на сайт, чтобы иметь возможность просматривать HTML-код, который я хочу сохранить.

**, если мне будет проще сделать это через мою winform и надеть на нее элемент управления веб-браузера, то это тоже хорошо.

Ответы [ 3 ]

5 голосов
/ 08 января 2011

Вы можете подключиться практически к любому приложению Windows, используя управляемый код и классы автоматизации пользовательского интерфейса . Не многие люди знают об этом.

Microsoft поставила библиотеку классов и среду выполнения, которая позволяет приложениям автоматизировать другие Windows в системе. Вы можете выполнять такие действия, как нажатие кнопок, чтение текстовых полей, активация меню и т. Д. Вот краткое введение .

Должно быть относительно просто присоединиться к окну IE, а затем программным способом отметить пункт меню Файл ... Сохранить как ....

Я сделал это на днях для приложения Paint.NET. Это заняло гораздо меньше времени, чем я думал.


Но я согласен, что, вероятно, проще использовать элемент управления WebBrowser в обычном приложении для программного получения содержимого. Вы также можете использовать класс System.Net.WebClient, если вам не нужно показывать содержимое HTML.

0 голосов
/ 08 января 2011

Если вы встраиваете элемент управления WebBrowser в WinForm, вы можете сделать это:

webBrowser1.Navigate("http://StackOverflow.com");
string pageHtml = webBrowser1.Document.GetElementsByTagName("html")[0].InnerHtml;

Это вернет весь HTML-код на странице, на которую вы перешли.

0 голосов
/ 08 января 2011

Самое быстрое решение - установить iMacros для Internet Explorer (свободно распространяемый, см. Правый столбец) и создать для него небольшой макрос с помощью команды "SAVEAS": http://wiki.imacros.net/Browser_Automation#Saving_Web_Sites

Если вы должны сделать это самостоятельно, я вижу следующие варианты:

  • использовать Microsoft UI Automation (структура доступности для Microsoft Windows)
  • быстрая и грязная автоматизация пользовательского интерфейса, посылая щелчки мыши / нажатия клавиш в IE
  • написать свой собственный небольшой аддон для браузера IE (у codeproject есть несколько хороших примеров)

Если это не обязательно IE:

  • использовать веб-браузер
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...