我在针对一个论坛编写自动发帖的程序,这个网站的发帖地址是:唐山论坛:http://www.5its.com/forum.php?mod=post&action=newthread&fid=77
目前我可以正确的向标题和内容文本框填入文本,但改不了“选择主题分类”这个选择框,原界面代码如下:
<div class="ftid">
<select name="typeid" id="typeid" width="80">
<option value="0">选择主题分类</option>
<option value="45">其他</option>
<option value="46">电脑数码</option>
<option value="47">家居日用</option>
<option value="48">交换</option>
</select>
</div>我用的是VS2005,代码如下:
        Dim Elems As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("select")        For Each elem As HtmlElement In Elems
            Dim NameStr As String = elem.GetAttribute("name")            If ((NameStr IsNot Nothing) And (NameStr.Length <> 0)) Then                If NameStr.ToLower().Equals("typeid") Then
                    elem.SetAttribute("value", "其他")
                    elem.SetAttribute("value", "45")
                    elem.SetAttribute("selectedIndex", "45")
                    elem.SetAttribute("selected", "45")
                End If
            End If
        Next 我上面用四种SetAttribute 方法,都没有改变option选项,请问大家是怎么回事啊

解决方案 »

  1.   

    你在elem.SetAttribute("value", "其他")设置个断点看看到底能不能走到if内?试试:
    WebBrowser1.Document.GetElementByTagId("typeid").value="45"另外对于一个html标签,如果有id优先使用id,其次是name再然后是标签属性,就是你上面的方法,还来个循环,累不累的。
      

  2.   

    能走到IF内,也能取到当前value的值,但就是不能更改当前值,另外您说的:WebBrowser1.Document.GetElementByTagId("typeid").value="45"
    这个语句不行,提示错误 1 “value”不是“System.Windows.Forms.HtmlElement”的成员。
    我用的是VS2005,的webbrowser控件
    还得麻烦这位朋友了
      

  3.   

    另外用这个语句也不行:document.GetElementById("typeid").SetAttribute("value", "45")