如何从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浏览器中捕获按钮事件
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;
}
希望对你有帮助