WebView2 応用テクニック

テキスト要素への文字入力をキーボード入力で行う

ページ内のテキスト要素への文字入力は、通常はJavaScriptのコードを使ってvalue='xxxx'のように行いますが、
キーボード相当での文字入力を行う事もできます。

SendKeys.SendWaitを使えばキーボードから文字を入力したのと同じ動作になります。
入力欄がアクティブになっていないとキーボード入力を受け付けませんので、webView2.Focus()でWebViewをアクティブにして、
テキスト要素に対しても.focus()でアクティブにします。

サンプル

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
    'テストページを開く
    webView2.CoreWebView2.Navigate("https://web.biz-prog.net/test/testpage.html")
    Await Task.Delay(2000)
 
    'WebViewにフォーカスをあてる
    webView2.Focus()
 
    'アドレスに文字を入力
    Await webView2.CoreWebView2.ExecuteScriptAsync($"document.getElementById('inputid1').focus();")
    SendKeys.SendWait("test")
 
End Sub

参考