WebView2 応用テクニック

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

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

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

サンプル

						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
					
						private async void button1_Click(object sender, EventArgs e)
						{
							//自動入力がONだと時々入力が失敗するので、OFFにする
							webView2.CoreWebView2.Settings.IsGeneralAutofillEnabled = false;
				
							//テストページを開く
							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");
						}
					

参考