单击Windows窗体中CefSharp浏览器中的按钮

我正在尝试单击网页(kahoot.it)上的一个按钮,而且我已经知道我可能需要使用Javascript来实现这一目的,只要它与1行JavaScript保持一致即可,因为这很容易在WinForms中实现。我在按钮上没有太多信息, 仅:

<button type="submit" value="Submit" class="enter-button__EnterButton-sc-1o9b9va-0 kxpxeu" data-functional-selector="join-game-pin"><span>Enter</span></button>

你们能帮忙吗?页面上只有一个按钮,也许有帮助。

hhzrri 回答:单击Windows窗体中CefSharp浏览器中的按钮

您需要编写一段JavaScript代码,并在页面加载时运行它。

页面加载后运行脚本

要在页面加载后运行代码,可以使用ExecuteScriptAsyncWhenPageLoaded方法,也可以处理FrameLoadEndLoadingStateChanged

DOM操作-查找元素,设置值,单击按钮

对于javascript代码,您可以使用任何可用的javascript函数。例如,使用getElemenetsByNamegetElementsByTagNamegetElementById查找元素。

找到元素后,可以设置其value,例如,可以通过调用其click()方法来单击按钮。

CefSharp示例-浏览URL,填写输入并单击按钮

以下代码将ChromiumWebBrowser控件添加到Form中。然后,它浏览google,并在搜索框中输入文字,然后点击搜索按钮:

//using CefSharp;
//using CefSharp.WinForms;
ChromiumWebBrowser browser;
protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    browser = new ChromiumWebBrowser("https://www.google.com/");
    browser.Dock = DockStyle.Fill;
    Controls.Add(browser);
    var script = @"
            document.getElementsByName('q')[0].value = 'CefSharp C# Example';
            document.getElementsByName('btnK')[0].click();
        ";
    browser.ExecuteScriptAsyncWhenPageLoaded(script);
}

示例2

在下面的示例中,您可以使用ExecuteScriptAsync在搜索框中输入文字,然后以编程方式单击搜索按钮:

//using CefSharp;
//using CefSharp.WinForms;
ChromiumWebBrowser browser;
protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    browser = new ChromiumWebBrowser("https://www.google.com/");
    browser.Dock = DockStyle.Fill;
    Controls.Add(browser);
}
private void button1_Click(object sender,EventArgs e)
{
    var script = @"
        document.getElementsByName('q')[0].value = 'CefSharp C# Example';
        document.getElementsByName('btnK')[0].click();
    ";
    browser.ExecuteScriptAsync(script);
}

注意: 就您而言,对于kahoot.it,脚本应为:

var script = @"
        document.getElementById('game-input').value = '123';
        document.getElementsByTagName('button')[0].click();
    ";
,

目标框架版本从 4.0 更改为 4.7.2 已为我修复 True Target Framework Version

本文链接:https://www.f2er.com/2956058.html

大家都在问