c# save contents of IE browser as html
I have an Internet Explorer window open. The title of this window will always be "test123" how do I save the source of the contents of the window as an HTML file?
Please note that the proc开发者_如何学Goess should not be to open a URL and read the HTML into a variable. I absolutely HAVE TO do it the way I described since I need to login to a site to be able to view the HTML that I want to save.
**if it makes it easier to do this through my winform and putting a webbrowser control on it, that is fine as well.
You can attach to virtually any Windows app, using managed code and the UI Automation classes. Not a lot of people know about this stuff.
Microsoft shipped a class library and runtime that allows applications to automate other Windows on the system. You can do things like click buttons, read textboxes, activate menus, and so on. Here's a quick intro.
It should be relatively simple to attach to an IE Window, and then programmatically tickle the File...Save As... menu option.
I did this the other day for a Paint.NET app. It took much less time that I thought it would.
But I agree it's probably easier to use a WebBrowser control in a regular app, to programmatically retrieve content. You could also use the System.Net.WebClient class to do it, if you don't need to show the HTML content.
If you embed a WebBrowser control inside of your WinForm you can do this:
webBrowser1.Navigate("http://StackOverflow.com");
string pageHtml = webBrowser1.Document.GetElementsByTagName("html")[0].InnerHtml;
This will return all of the HTML in the page navigated to.
精彩评论