我正在尝试模拟单击C#中网站上的按钮。该按钮位于网站上的以下HTML元素内:
<INPUT onclick"submitForm('file_search',1,{source:'file_search:id123}); return false;" id=file_search:id123 class=btn style="WIDTH: 97px" type=submit value=Search name=file_search:id123>
我尝试使用以下InvokeMember代码模拟在C#中单击此按钮:
HtmlElementCollection searchbutton = ((WebBrowser)sender).Document.GetElementsByTagName("input");
foreach (HtmlElement element in searchbutton)
{
if (element.GetAttribute("Value").Equals("Search"))
{
element.InvokeMember("Click");
System.Threading.Thread.Sleep(30000);
break;
}
}
while (((WebBrowser)sender).ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
我也尝试过使用RaiseEvent:
((WebBrowser)sender).Document.GetElementById("file_search:id123").RaiseEvent("onclick");
这两种方法均无效。我已经在另一个按钮元素上成功使用了此功能,因此我怀疑这与“搜索”按钮的配置方式有关。有没有一种方法可以绕过触发点击方法并直接提交表单?