使用WebView2 ExecuteScriptAsync点击提交按钮失败,求技术帮助
解决按钮点击失效问题
先看你当前代码的问题:
document.getElementsByClassName('btn btn-blue btn_login')返回的是元素集合,不是单个按钮,没法直接调用方法;而且button元素根本没有submit()方法,这个方法是给form表单用的。- 这个按钮是Angular绑定的,要触发它的点击逻辑,直接模拟点击DOM元素就行。
给你两种可行的修改方案:
方案一:用querySelector精准选择(推荐)
querySelector可以直接选中第一个匹配的元素,写法更简洁:
WebView21.CoreWebView2.ExecuteScriptAsync("document.querySelector('.btn.btn-blue.btn_login').click();");
方案二:修正getElementsByClassName的用法
先获取元素集合,再取第一个元素执行点击:
WebView21.CoreWebView2.ExecuteScriptAsync("var loginBtn = document.getElementsByClassName('btn_login')[0]; if(loginBtn) loginBtn.click();");
注意:要确保执行脚本时,按钮已经加载到DOM里了,不然会找不到元素报错。
内容的提问来源于stack exchange,提问作者meow meow
相关产品推荐
相关产品推荐

