WebBrowser控件 - 获取元素按类型?

Eri*_*ric 4 .net c# webbrowser-control

我需要在C#中按类型获取元素,HTML看起来像这样:

<button type="submit" class="orangeBtn">Send Invitations</button>
Run Code Online (Sandbox Code Playgroud)

我希望它能够在我可以调用它("点击")的地方,但它似乎不适合在C#中工作.我目前的代码是:

HtmlElement m_SubmitField = m_Browser.Document.All["orangeBtn"];

if (m_SubmitField != null)
    m_SubmitField.InvokeMember("click");
Run Code Online (Sandbox Code Playgroud)

有没有其他工作方式来做到这一点?

这不是我的服务器,因此我无法编辑HTML或添加jquery.

我正在制作一个自动应用程序来向我想要加入的朋友发送邀请,但他们创建的按钮没有上面看到的ID或名称,所以无论如何都要在C#中使用不同的方式调用("点击")方法?

谢谢.

mik*_*kel 7

你可以用GetElementsByTagName.

var elements = m_Browser.Document.GetElementsByTagName("button");
foreach (HtmlElement element in elements)
{
     // If there's more than one button, you can check the
     //element.InnerHTML to see if it's the one you want
     if (element.InnerHTML.Contains("Send Invitations"))
     {
          element.InvokeMember("click");
     }
}
Run Code Online (Sandbox Code Playgroud)