ログインボタンのクリックアクションをシミュレートする方法は次のとおりです。
webView.InvokeScript("eval", new[] { "document.getElementById(\"login\").click();" });
ボタンがクリックされたときに通知を受け取りたい場合のコードは次のとおりです。 LoadComplete に登録し、次のコードを使用してクリック ハンドラを追加します。
private void WebView_OnLoadCompleted(object sender, NavigationEventArgs e)
{
webView.InvokeScript("eval", new[]
{
"var loginButon=document.getElementById(\"login\");" +
"if (loginButon.addEventListener) {" +
"loginButon.addEventListener(\"click\", clickFunction, false);" +
"} else {" +
"loginButon.attachEvent('onclick', clickFunction);" +
"} " +
"function clickFunction(){" +
" window.external.notify('loginClick');"+
"}"
});
}
ページ コンストラクターで Web ビュー通知を有効にするには、作業中のページの URI を指定するか、すべての URI を有効にすることができます。
webView.AllowedScriptNotifyUris = WebView.AnyScriptNotifyUri;
最後に ScriptNotify イベントに登録し、次のハンドラを使用します。
private void WebView_OnScriptNotify(object sender, NotifyEventArgs e)
{
if (e.Value == "loginClick")
{
//Login button have been clicked
}
}