如何通过webbrowser控件获取elementbyname?

时间:2015-01-16 19:41:14

标签: c# html webbrowser-control dom

我需要通过webbrowser填充输入。当我尝试getelementbyname我得到空值。你能帮我解决这个问题吗?

<input onfocus="showInfoBox(this, "Varchar(100) Latin capital letters only (A-Z) and spaces between surnames")" onblur="hideInfoBox()" value="" name="Surname"><input>

这是我的代码:

    public HtmlElementCollection GetElemByName(string name)
    {
        if (webBrowser1.Document == null)
            return null;

        HtmlDocument doc = webBrowser1.Document;

        return doc.All.GetElementsByName(name);
    }

    private void button2_Click(object sender, EventArgs e)
    {
        HtmlElementCollection col = GetElemByName("Surname");
        if (col != null && col.Count > 0)
        {
            col[0].SetAttribute("Surname", "My Surname");
        }             
    }

1 个答案:

答案 0 :(得分:1)

没有属性姓氏。

你应该改变:

col[0].SetAttribute("name", "My Surname");

属性为:nameidtype等......

在你的情况下这是名字。您还应添加input的类型。类型可能是text

<input type="text" onfocus="showInfoBox(this, "Varchar(100) Latin capital letters only (A-Z) and spaces between surnames")" onblur="hideInfoBox()" value="" name="Surname"><input>

webBrowser1的价值是什么,我希望它不是空的!