Droplist值不会改变

时间:2013-04-11 08:02:42

标签: c# webbrowser-control html-select

我希望我的应用程序更改网站上的droplist值。 这是网站上的droplist代码:

<select name="filterPPage">
    <option value="20"></option>
    <option value="30"></option><option value="40"></option>
    <option value="50"></option><option value="60"></option>
    <option value="70"></option><option value="80"></option>
    <option value="90"></option><option value="100"></option>
</select>

我在我的应用程序中使用此代码来更改值:

int buff = 100;

foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("select"))
{
    if (he.GetAttribute("name").Equals("filterPPage"))
    {
        he.SetAttribute("value", buff.ToString());
    }
}

但它只将值更改为100秒,然后页面刷新,默认值为20。 请帮忙。

1 个答案:

答案 0 :(得分:0)

您必须遍历select tag孩子:

试试这个:

        void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            foreach (HtmlElement selecttag in webBrowser1.Document.GetElementsByTagName("select"))
            {
                if (selecttag.GetAttribute("name").Equals("filterPPage"))
                {
                    foreach (HtmlElement child in selecttag.All)
                    {
                        child .InnerText = "something";
                    }

                }
            }
        }

<强>被修改

完整代码:

private void Form1_Load_1(object sender, EventArgs e)
        {
            webBrowser1.DocumentText = File.ReadAllText(@"E:\\file.html");
            webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
        }

        void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

            foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("select"))
            {
                if (he.GetAttribute("name").Equals("filterPPage"))
                {
                    foreach (HtmlElement el in he.All)
                    {
                        el.InnerText = "1==";
                    }

                }
            }
        }