C#单击HtmlElement,没有ID类

时间:2017-11-01 22:16:17

标签: c# webbrowser-control

我没有使用硒或其他任何东西,我只想在Windows窗体应用程序的webbrowser上进行。 我有一个Windows窗体应用程序,我想点击一个代码按钮,但没有ID。

Here

我尝试使用本网站论坛上发现的很多不同的东西,但这些都不起作用。

This is what i work with

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用WebBrowser.GetElementByTagName(“div”)然后针对属性type = submit检查每个元素? 您的代码应该类似于

HtmlElement submit = FindSubmitElement(webBrowser1.Document);
submit?.InvokeMember("submit");

public HtmlElement FindSubmitElement(HtmlDocument document) 
{
    HtmlElementCollection elems = document.GetElementsByTagName("div"); // since your tag is div
    // this will return collection, even in case there is just one div, find the first one, having an attribute 'type' with value 'submit'
    foreach (HtmlElement elem in elems)
    {
        string type = elem.GetAttribute("type");
        if (!string.IsNullOrEmpty(type) && type == "submit") 
        {
            return elem; // if div tag with attribute type is found exit and return that html element
        }
    }

    return null; // if no div tags found with an attribute 'type' return null
}

MSDN docs上查看有关GetElementsByTagName方法的详情。代码取自那里并根据您的需要进行调整。