我有c#UWP应用程序,我想使用webview点击下面显示的HTML DOM按钮。
<button type="button" class="btn btn-primary btn-extra-pad btn-shadow" onclick="checkMsgShowBig()">Send</button>
通常输入的 ID ,下面的代码可以解决这个问题
var functionString = string.Format(@"document.getElementById('id').click();");
await webView.InvokeScriptAsync("eval", new string[] { functionString });
但按钮只有一个类名。 下面的代码在使用类名时应该有效,但它不起作用。
var functionString = string.Format(@"document.getElementsByClassName('id').click();");
await webView.InvokeScriptAsync("eval", new string[] { functionString });
如何让它发挥作用?谢谢。
答案 0 :(得分:0)
getElementsByClassName
的返回值是一个数组,因此您应该在使用它之前对其进行索引。
这是一个代码示例
private async void SimulateClickAsync()
{
var functionString = string.Format(@"document.getElementsByClassName('btn btn-primary btn-extra-pad btn-shadow')[0].click();");
await webView.InvokeScriptAsync("eval", new string[] { functionString });
}