首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

想用WebBrowser控件实现登陆CSDN论坛并得到论坛栏目名称,有图请问

2012-03-05 
想用WebBrowser控件实现登陆CSDN论坛并得到论坛栏目名称,有图请教!对WebBrwoser控件的使用一直很迷茫所以

想用WebBrowser控件实现登陆CSDN论坛并得到论坛栏目名称,有图请教!
对WebBrwoser控件的使用一直很迷茫所以想以csdn网页为例请教一下使用方法。

第一步:首先打开csdn主页。


第二步:点击论坛,再点登录。


第三步:在登录页面输入用户名及密码(如名:lovecsdn,密码:888888),将两周内自动登录选中,点登录。


第四步:在登录后的网页上我要取得所有红框内论坛栏目名称。


我想用WebBrowser控件实现以上四步(按下一次按钮键自动实现),该如何做?
可能有些麻烦,但急需掌握这方面的知识,求教了。



[解决办法]
Navigate+Document.Write
[解决办法]
直接取WebBrowser.document对象即可!
[解决办法]
1. 过多的计划会影响人生享受. 完全不正确 <input name="p1" type="radio" value="1" /> <input name="p1" type="radio" value="2" /> <input name="p1" type="radio" value="3" /> <input name="p1" type="radio" value="4" /> <input name="p1" type="radio" value="5" /> 非常正确
 2. 不管人家怎么对待我,我对人都很友善. 完全不正确 <input name="p2" type="radio" value="1" /> <input name="p2" type="radio" value="2" /> <input name="p2" type="radio" value="3" /> <input name="p2" type="radio" value="4" /> <input name="p2" type="radio" value="5" /> 非常正确
 3. 我不是一个冒险的人. 完全不正确 <input name="p3" type="radio" value="1" /> <input name="p3" type="radio" value="2" /> <input name="p3" type="radio" value="3" /> <input name="p3" type="radio" value="4" /> <input name="p3" type="radio" value="5" /> 非常正确
 4. 我是一个害羞的人. 完全不正确 <input name="p4" type="radio" value="1" /> <input name="p4" type="radio" value="2" /> <input name="p4" type="radio" value="3" /> <input name="p4" type="radio" value="4" /> <input name="p4" type="radio" value="5" /> 非常正确
 5. 当压力很大的时候,我很难保持冷静. 完全不正确 <input name="p5" type="radio" value="1" /> <input name="p5" type="radio" value="2" /> <input name="p5" type="radio" value="3" /> <input name="p5" type="radio" value="4" /> <input name="p5" type="radio" value="5" /> 非常正确
 6. 我在集体工作中表现最好. 完全不正确 <input name="p6" type="radio" value="1" /> <input name="p6" type="radio" value="2" /> <input name="p6" type="radio" value="3" /> <input name="p6" type="radio" value="4" /> <input name="p6" type="radio" value="5" /> 非常正确
 7. 我从来没有故意説过谎. 完全不正确 <input name="p7" type="radio" value="1" /> <input name="p7" type="radio" value="2" /> <input name="p7" type="radio" value="3" /> <input name="p7" type="radio" value="4" /> <input name="p7" type="radio" value="5" /> 非常正确
 8. 我一向完全彻底地完成我的工作. 完全不正确 <input name="p8" type="radio" value="1" /> <input name="p8" type="radio" value="2" /> <input name="p8" type="radio" value="3" /> <input name="p8" type="radio" value="4" /> <input name="p8" type="radio" value="5" /> 非常正确


 9. 我有时候会无意中对别人很无礼. 完全不正确 <input name="p9" type="radio" value="1" /> <input name="p9" type="radio" value="2" /> <input name="p9" type="radio" value="3" /> <input name="p9" type="radio" value="4" /> <input name="p9" type="radio" value="5" /> 非常正确
 10. 尝试新鲜事物胜于墨守成规. 完全不正确 <input name="p10" type="radio" value="1" /> <input name="p10" type="radio" value="2" /> <input name="p10" type="radio" value="3" /> <input name="p10" type="radio" value="4" /> <input name="p10" type="radio" value="5" /> 非常正确
* 请只按一次送交答案键. 
</form>
 
  

网页码就是这样下面是显示样子



答案是EXCEL的格式如

1 2 3 4 5 6 7 8 9 10 … 
A E D B D C A E C C … 

 

希望有高手能给个解答如何将答案填入单选框中

[解决办法]
http://community.csdn.net/
[解决办法]
我晕你.你直接导航到
http://passport.csdn.net/account/login?from=http://community.csdn.net/

一步不就完成了.?

VB.NET code
Dim url As New Uri("http://passport.csdn.net/account/login?from=http://community.csdn.net/")   Me.WebBrowser1.Navigate(Uri)    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted        Dim doc As HtmlDocument        Dim tmpHtml As HtmlElement        doc = Me.WebBrowser1.Document                tmpHtml = doc.GetElementsByTagName("input").Item("u")'用户名                tmpHtml.SetAttribute("value", "aaaa")                tmpHtml = doc.GetElementsByTagName("input").Item("p")                tmpHtml.SetAttribute("value", "bbbb")                tmpHtml = doc.GetElementsByTagName("a").item("aLogin")                tmpHtml.InvokeMember("click")     End Sub
[解决办法]
VB.NET code
''' <summary>''' ''' </summary>''' <remarks></remarks>Public Class Form1    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        '关闭js错误        WebBrowser1.ScriptErrorsSuppressed = True    End Sub    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted        obj.Set()    End Sub    '定义等待线程    Private obj As New System.Threading.AutoResetEvent(False)    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click        '定义用户和密码        Dim yonghu As String = "caoqinghua"        Dim mima As String = "密码"        obj.Reset()        '导航到登录界面        Me.WebBrowser1.Url = New System.Uri("http://passport.csdn.net/account/login", System.UriKind.Absolute)        '等待导航        While (obj.WaitOne(100, False) = False)            Application.DoEvents()        End While        '填入用户和密码        WebBrowser1.Document.Window.Frames("logfrm").Document.All("u").SetAttribute("value", yonghu)        WebBrowser1.Document.Window.Frames("logfrm").Document.All("p").SetAttribute("value", mima)        'WebBrowser1.Document.Window.Frames("logfrm").Document.All("chkRemember").SetAttribute("value", "on")        '执行登录事件        obj.Reset()        WebBrowser1.Document.Window.Frames("logfrm").Document.InvokeScript("singin", New Object() {})        '等待登录结束        While (obj.WaitOne(100, False) = False)            Application.DoEvents()        End While        '进入导航界面        obj.Reset()        Me.WebBrowser1.Url = New System.Uri("http://bbs.csdn.net/", System.UriKind.Absolute)        '等待登录结束        While (obj.WaitOne(100, False) = False)            Application.DoEvents()        End While        '继续操作    End Sub    End Class 

热点排行