我希望我的应用程序更改网站上的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。 请帮忙。
答案 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==";
}
}
}
}