Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# btn.InvokeMember(”单击“)或btn.RaiseEvents(”单击“),以及其他赢得的任何东西';t单击';OK';网络浏览器上的btn_C#_Webbrowser Control - Fatal编程技术网

C# btn.InvokeMember(”单击“)或btn.RaiseEvents(”单击“),以及其他赢得的任何东西';t单击';OK';网络浏览器上的btn

C# btn.InvokeMember(”单击“)或btn.RaiseEvents(”单击“),以及其他赢得的任何东西';t单击';OK';网络浏览器上的btn,c#,webbrowser-control,C#,Webbrowser Control,尝试了堆栈上发布的所有内容,甚至是mshtml.IHTMLElement nativeElement=elasmshtml.IHTMLElement nativeElement.click()无效 下面的代码是标准代码,适用于我在WebBrowser控件中单击其他按钮 HtmlElementCollection pageTextElements = doc.Window.Document.GetElementsByTagName("input"); HtmlElement btnOK = nul

尝试了堆栈上发布的所有内容,甚至是
mshtml.IHTMLElement nativeElement=el
as
mshtml.IHTMLElement

nativeElement.click()
无效

下面的代码是标准代码,适用于我在
WebBrowser
控件中单击其他按钮

HtmlElementCollection pageTextElements = doc.Window.Document.GetElementsByTagName("input");
HtmlElement btnOK = null;

foreach (HtmlElement element in pageTextElements)
{
    if (element.Id == "btnOK")
    {
        btnOK = element;
    }
}

btnOK.InvokeMember("click");
//这是我尝试单击的按钮:

<input id="btnOK" class="btn12" type="submit" value="OK" title="" tabindex="11"      style="position: absolute; left: 584px; height: 21px; width: 63px; …pointer; top: 1074px; padding-left: 0px; padding-right: 0px;" onfocus="saveFocusedControl("btnOK");" name="btn_btnOK" alt="OK" accesskey="O"></input>


执行
btnOK.InvokeMember(“单击”)操作时出现任何错误消息
?手动单击时会发生什么?没有错误,只是什么都不做。我已经在应用程序的其他地方使用了此代码,它工作正常。将
WebBrowser.ScriptErrorsSuppressed
设置为
false
,然后执行。有
DocumentCompleted
事件用于此,您应该使用它而不是轮询
ReadyState
。完整示例:。
if (webBrowser1.ReadyState == System.Windows.Forms.WebBrowserReadyState.Complete)
{
    System.Threading.Thread.Sleep(100);
    System.Windows.Forms.Application.DoEvents();
    btnOK.InvokeMember("click"); //Go back to Select Date for TimeSheet...Original Url...
}