C#如何通过WebBrowser自动单击按钮

Mis*_*sha 17 c# browser submit button

我的点击页面的Html代码是:

<input type="submit" id="publishButton-ns" class="ubtn ubtn-block"
 name="publish" tabindex="10" value="Publish Post">
Run Code Online (Sandbox Code Playgroud)

我试过这个代码点击:

webBrowser1.Document.GetElementById("publishButton-ns").InvokeMember("click");
Run Code Online (Sandbox Code Playgroud)

但是没找到按钮.

Pon*_*lar 27

这可能对你有所帮助.

<input type="submit" value="Submit" />

HtmlElementCollection elc = this.webBrowser1.Document.GetElementsByTagName("input");  
foreach (HtmlElement el in elc)  
{  
   if (el.GetAttribute("type").Equals("submit"))  
   {  
        el.InvokeMember("Click");  
   }  
 }
Run Code Online (Sandbox Code Playgroud)


kir*_*irb 6

您是否在等待首页加载?您应该在代码中绑定一个函数以等待页面加载,然后单击按钮:

static void form1_Load() {
    // ...
    webBrowser1.onDocumentReady += webBrowser_DocumentReady;
}

static void webBrowser1_DocumentReady() {
    webBrowser1.Document.GetElementById("publishButton-ns").InvokeMember("Click");
}
Run Code Online (Sandbox Code Playgroud)


Cra*_*igW -1

您可以使用 jQuery,然后执行类似 $("#publishButton-ns").click(); 的操作

http://www.jQuery.com/