WebView2コントロールの基本的な操作
ここではWebView2コントロールの基本的な操作方法について解説します。
Webページの表示
URLを指定してWebページを表示するにはnavigate
メソッドを使用します。
ただし、navigate
メソッドはページの読み込み完了を待ちませんので、
後述する読み込み完了待ちの処理をいれないと、読み込み途中のまま次の処理が行われてしまいます。
実装方法
サンプル
読み込み待ち
navigate
メソッドでWebページを表示したり、リンクのクリックを行ったり、Submitを行った直後は、
ページの読み込み途中なので続けて処理を行うとエラーになります。
ページの読み込みが終わるまで待機する処理が必要です。
WebViewでは読み込みが完了するとNavigationCompleted
イベントが発生しますので、
NavigationCompleted
イベントが発生するまで処理を待機してやります。
実装方法
こちらを参考にしてください。
戻る/進む
閲覧履歴の「戻る」「進む」を行います。
これら操作でもページの読み込みが発生しますので、メソッド実行後に、読み込み完了を待つ処理が必要です。(上記参照)
実装方法
サンプル
中止/リロード
読み込みを中止したり、サイトのリロード(再読み込み)が行えます。
リロードを行った場合はサイトの読み込みが発生しますので、メソッド実行後には読み込み完了を待つ処理が必要です。
実装方法
サンプル
タイトル/URLの取得
現在表示しているサイトのタイトルとURLを取得します。
実装方法
サンプル
htmlの取得
現在表示しているページのhtmlを取得します。
実装方法
ExecuteScriptAsync
とJavaScriptのコードを使ってhtmlを取得します。
取得した文字列に対して、文字コードの変更と、文頭・文末の余計な文字を除去します。
サンプル
Dim html = Await WebView2.ExecuteScriptAsync("document.documentElement.outerHTML") html = Regex.Unescape(html) html = html.Remove(0, 1) html = html.Remove(html.Length - 1, 1)
var html = await webView2.ExecuteScriptAsync("document.documentElement.outerHTML"); html = Regex.Unescape(html); html = html.Remove(0, 1); html = html.Remove(html.Length - 1, 1);