Webページに埋め込まれたChromiumカーネルを実装する. Net WebView2プロジェクト

Webページに埋め込まれたChromiumカーネルを実装する. Net WebView2プロジェクト

WebView2プロジェクトは、MicrosoftオペレーティングシステムWin 10とWin11を搭載しています。

最后更新 2022/05/17 20:47
蓝创精英团队
预计阅读 2 分钟
分类
.NET
标签
.NET C# WebView2

WebView2プロジェクトはユニークで、MicrosoftオペレーティングシステムWin 10とWin11の恩恵を受けています。少なくとも、生成されたプロジェクトファイルは非常に小さく、私の側は3.6 Mで、CefSharpプロジェクトの100Mサイズと比較して、ディストリビューションのサイズを大幅に削減するので、まだ深く研究する価値があります。

開発に必要な要件

  1. 実行中です

コントロールパネルでは、ランタイムがインストールされていることも確認できます。

そうでない場合は、上記のアドレスからダウンロードする必要があります。

具体地址: https://go.microsoft.com/fwlink/p/?LinkId=2124703

  1. NuGetパッケージ

以下のNuGetパッケージが必要です

Microsoft.Web.WebView2

インストール後、デフォルトでWin From UIフレームワークを使用しています。

新規プロジェクト参考文献としてwinfrom

WebView2がない場合は、プロジェクトを再起動できます。

また、わかりやすくするために、DockプロパティをFill Full Fill Fillにします。

この時点で、基本的な環境コードを追加して、ページを起動します。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        Resize += new EventHandler(Form_Resize);
        webView21.CoreWebView2InitializationCompleted += WebView21_CoreWebView2InitializationCompleted;
        Initialize();
    }
        /// <summary>
        /// 实现自适应页面缩放
        /// </summary>
    private void Form_Resize(object sender, EventArgs e)
    {
        webView21.Size = ClientSize - new Size(webView21.Location);
    }
    /// <summary>
    /// webview 加载完毕
    /// </summary>
    private void WebView21_CoreWebView2InitializationCompleted(object sender, CoreWebView2InitializationCompletedEventArgs e)
    {
        webView21.CoreWebView2.Navigate("https://www.baidu.com/");
    }
    /// <summary>
    /// WebView2初始化
    /// </summary>
    async void Initialize()
    {
        var result = await CoreWebView2Environment.CreateAsync(null, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "cache"), null);
        await webView21.EnsureCoreWebView2Async(result);
    }
}

このページは自由にストレッチでき、非常に便利です。

この行はローカルキャッシュに追加されます。この時点で、アカウントにログインして再起動すると、データがローカルキャッシュに保存されているため、アカウントはまだ存在します。

var result = await CoreWebView2Environment.CreateAsync(null, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "cache"), null);
webView21.CoreWebView2.OpenDevToolsWindow();

开発者ツールを开く右クリックで、ページ実装をチェックで开く开発者ツールを开く

次に、JSスクリプトを実行し、入力する準備をしてから、検索をクリックします。

この機能には新しいボタンが必要です。

次のスクリプトを追加する

/// <summary>
/// 点击按钮
/// </summary>
private async void button1_Click(object sender, EventArgs e)
{
    //开启开发者工具 (可以通过右键,检查页面实现打开开发者工具)
    // webView21.CoreWebView2.OpenDevToolsWindow();

    //填充搜索内容
    await webView21.CoreWebView2.ExecuteScriptAsync("document.querySelector('#kw').value='1234'");
    //启动搜索
    await webView21.CoreWebView2.ExecuteScriptAsync("document.querySelector('#su').click();");
}

これが実現した効果である

これで、完成したWebView2プロジェクトのケースが実装されました。

以下は適切なコードアドレスです。

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/04/22

バージョン別の. NETサポート状況(250 7 0 7更新)

仮想マシンとテストマシンを使用して、各バージョンのオペレーティングシステムの. NETサポートをテストします。オペレーティングシステムのインストール後、対応するランタイムを測定し、スターダストエージェントをパスとして実行できます。

继续阅读
同分类 / 同标签 2026/02/07

AOTの使用経験

プロジェクトの最初から、新しい機能が追加されたり、新しい構文が使用されたりするたびに、AOTリリーステストを行うという良い習慣を身につける必要があります。

继续阅读