WPF 保存 Web 浏览器 HTML

作者:编程家 分类: swift 时间:2025-11-11

WPF 保存 Web 浏览器 HTML

在使用 WPF 开发桌面应用程序时,有时我们需要保存 Web 浏览器中显示的 HTML 内容。本文将介绍如何通过 WPF 实现保存 Web 浏览器 HTML 的功能,并提供相应的案例代码。

首先,我们需要在 WPF 界面中添加一个 WebBrowser 控件,用于显示网页内容。可以通过在 XAML 文件中添加以下代码实现:

xml

接下来,我们可以通过代码动态加载网页内容到 WebBrowser 控件中。例如,我们可以使用以下代码加载一个网页:

csharp

webBrowser.Navigate("http://www.example.com");

在加载完成后,我们可以通过 WebBrowser 控件提供的 Document 属性获取到当前网页的 HTML 内容。为了保存 HTML 内容,我们可以使用以下代码:

csharp

string html = (string)webBrowser.InvokeScript("eval", new string[] { "document.documentElement.outerHTML;" });

File.WriteAllText("output.html", html);

以上代码通过调用 WebBrowser 控件的 InvokeScript 方法来执行 JavaScript 代码获取 HTML 内容,然后使用 File.WriteAllText 方法将 HTML 内容保存到文件中。

接下来,我们可以将上述代码封装到一个按钮的点击事件中,以实现保存 HTML 的功能。例如,我们可以在 XAML 文件中添加一个按钮,并在对应的代码文件中添加以下代码:

csharp

private void SaveHtmlButton_Click(object sender, RoutedEventArgs e)

{

string html = (string)webBrowser.InvokeScript("eval", new string[] { "document.documentElement.outerHTML;" });

File.WriteAllText("output.html", html);

}

通过以上代码,当用户点击按钮时,将会保存当前 WebBrowser 控件中显示的 HTML 内容到名为 "output.html" 的文件中。

案例代码

下面是一个完整的示例代码,演示了如何使用 WPF 保存 Web 浏览器 HTML:

xml

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="WPF Save WebBrowser HTML" Height="450" Width="800">

csharp

using System.IO;

using System.Windows;

namespace WpfApp

{

public partial class MainWindow : Window

{

public MainWindow()

{

InitializeComponent();

webBrowser.Navigate("http://www.example.com");

}

private void SaveHtmlButton_Click(object sender, RoutedEventArgs e)

{

string html = (string)webBrowser.InvokeScript("eval", new string[] { "document.documentElement.outerHTML;" });

File.WriteAllText("output.html", html);

}

}

}

通过以上代码,我们可以在 WPF 应用程序中实现保存 Web 浏览器 HTML 的功能。用户可以点击按钮将当前网页的 HTML 内容保存到本地文件中,方便后续处理或分析。

本文介绍了如何使用 WPF 实现保存 Web 浏览器 HTML 的功能。通过 WebBrowser 控件获取网页的 HTML 内容,并使用 File.WriteAllText 方法保存到本地文件中。通过添加按钮的点击事件,用户可以方便地保存 HTML 内容。这个功能在需要对网页内容进行存档、离线浏览或后续处理时非常有用。希望本文能够帮助你实现这一功能。