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
Await Task.Delay(2000)
webView2.Focus()
Await webView2.CoreWebView2.ExecuteScriptAsync($ "document.getElementById('inputid1').focus();" )
SendKeys.SendWait( "test" )
End Sub
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | private async void button1_Click( object sender, EventArgs e)
{
webView2.CoreWebView2.Settings.IsGeneralAutofillEnabled = false ;
await Task.Delay(2000);
webView2.Focus();
await webView2.CoreWebView2.ExecuteScriptAsync($ "document.getElementById('inputid1').focus();" );
SendKeys.SendWait( "test" );
}
|
参考