繁体   English   中英

C# winform 应用程序 Webview2 webBrowser 提交按钮不起作用

[英]C# winform Application Webview2 webBrowser Submit button Not Working

我是 c# webview2 浏览器的新手,我需要单击继续按钮,但是当我使用我的代码时,它无法完全正常工作。

<button id="reg-submit-button" name="signup" type="submit" data-rapid-tracking="true" data-ylk="elm:btn;elmt:nxt;slk:continue;mKey:registration-continue" class="pure-button puree-button-primary puree-spinner-button">Continue</button>

请检查这个并给我更好的解决方案。

下面我正在尝试但没有成功。

            webView21.ExecuteScriptAsync("Document.GetElementById('reg-submit-button').submit();");

鉴于以下 HTML:

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>

    <script>
        function btnClickAction(name) {
            alert('button ' + name + ' was clicked');
        }
    </script>
</head>
<body>

    <button type="button" class="size-grid-button" id="size-grid-button1" onclick="btnClickAction('size-grid-button1')">Click Me 1</button>
    <button type="button" class="size-grid-button" id="size-grid-button2" onclick="btnClickAction('size-grid-button2')">Click Me 2</button>
    <button type="button" class="size-grid-button" id="size-grid-button3" onclick="btnClickAction('size-grid-button3')" value="Click Me 3">Click Me 3</button>

    <input type="button" class="size-grid-button" id="size-grid-button4" onclick="btnClickAction('size-grid-button4')" value="Click Me 4" />

</body>
</html>

请尝试以下操作:

await webView21.ExecuteScriptAsync("document.getElementById('reg-submit-button').click();");

下面显示了如何创建一个可以调用的函数,该函数对调试很有用。

string jsCode = "function clickDesiredButtonById(btnId) {
    let result = null;
    let desiredButton = document.getElementById(btnId);
    
    if (desiredButton) {
        desiredButton.click();
        result = 'button with id = ' + btnId + ' clicked';
    }
    
    //window.chrome.webview.postMessage("result:" + result);
    return result;
}";

jsCode += System.Environment.NewLine;
jsCode += "clickDesiredButtonById('" + btnId + "');";

var result = await webView21.CoreWebView2.ExecuteScriptAsync(jsCode);

注意btnId是您想要的按钮的 id。

随意使用另一种将代码放入字符串的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM