如何从c#中单击嵌入式web控件上的按钮

本文关键字:控件 web 按钮 嵌入式 单击 | 更新日期: 2023-09-27 18:12:38

在webBrowser1对象中加载了一个页面。它有一个"按钮"标签,这是我需要点击的按钮。这是一个基本的按钮。没有JavaScript等

I tried:

1)按回车键点击:

webBrowser.Document.GetElementsByTagName("button")[0].Focus();
Sendkeys.Sendwait("{ENTER}");

那没用。

2)调用"click"事件:
webBrowser.Document.GetElementsByTagName("button")[0].InvokeMember("click");

这也不起作用,因为它不是JavaScript。

3)"click"处理程序:

webBrowser.Document.GetElementsByTagName("button")[0].Click +=
        new System.EventHandler(button_click1);

这也不能工作,因为从我所读到的,这是一个事件处理程序,在用户实际点击这个按钮后触发。

所以我没有选择。我还能尝试什么?

如何从c#中单击嵌入式web控件上的按钮

你可以尝试使用c#在web浏览器中捕获按钮事件

HtmlElement el = webBrowser1.Document.All["mybutton"];
object obj = el.DomElement;
System.Reflection.MethodInfo mi = obj.GetType().GetMethod("click");
mi.Invoke(obj, new object[0]); 

private void Form1_Load(object sender, EventArgs e)
{
   this.wb.Url = new Uri("https://login.yahoo.com/config/login_verify2?.intl=gr&.src=ym");
   this.wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
public void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    HtmlElement username = this.wb.Document.All["username"];
    username.SetAttribute("value", "kataras2012@yahoo.gr");
    HtmlElement pass = this.wb.Document.All["passwd"];
    pass.SetAttribute("value", "passTest");
    HtmlElement goButton = this.wb.Document.All[".save"];
    goButton.InvokeMember("click");
    return;
}

希望对你有帮助