您可以使用Document.querySelectorAll()找到您的 Button 。
它使用标准的CSS 属性选择器作为输入:
string inputButtonValue = "Send";
// Or string inputButtonValue = "Disconnect";
var func = $"document.querySelectorAll('input[value=\"{inputButtonValue}\"]')[0].click();";
var result = await webView21.CoreWebView2.ExecuteScriptAsync(func);
兼容的替代方法是循环Document.getElementsByTagName()的结果,它返回 HTML 元素的集合:
string inputButtonValue = "Send";
var func = "var elms = document.getElementsByTagName('INPUT'); " +
"for (var i = 0; i < elms.length; i++) {" +
$"if (elms[i].value == '{inputButtonValue}') {{ " +
"elms[i].click(); break;" +
"};" +
"};";
var result = await webView21.CoreWebView2.ExecuteScriptAsync(func);
您也可以使用WebView2.ExecuteScriptAsync()代替CoreWebView2.ExecuteScriptAsync(),但前者与 WinForms 绑定,后者则不是。万一在某些时候可移植性可能是一个问题。
您应该等待这些方法,如此处所示,(因为两者都是异步的),但如果您不需要评估result
.