我使用WebBrowser Control 来连接到某个网站,现在我有一种需求:想要获得这个页面的html源代码,请问我该如何处理?
谢谢!

解决方案 »

  1.   

    先另存为TXT文件,然后OPEN,然后GET...
      

  2.   

    Private Function WebBrowserDown(strurl1 As String) As String
    Timer1.Enabled = True
    WebBrowser1.Navigate2 strurl1
      '启动计数器http://www.peopledaily.com.cn/GB/guoji/23/88/index.html
      'Timer1.Enabled = True
      Dim ii As Integer
      Dim doc, objhtml As Object
      'Do Until WebBrowser1.Busy '等待下载完成
     '    DoEvents
     ' Loop
      'DoEvents
      For ii = 0 To 1000 '等待40秒
     
          Sleep 40
          DoEvents
          If Not WebBrowser1.Busy Then
             Set doc = WebBrowser1.Document
             Set objhtml = doc.body.createtextrange()
             If Not IsNull(objhtml) Then
                WebBrowserDown = objhtml.htmltext
                Exit For
             End If
             Timer1.Enabled = False
             Set doc = Nothing
             Set objhtml = Nothing
             Exit For
         End If
      Next ii
    End Function
      

  3.   

    Private Function WebBrowserDown(strurl1 As String) As String
    Timer1.Enabled = True
    WebBrowser1.Navigate2 strurl1
      '启动计数器http://www.peopledaily.com.cn/GB/guoji/23/88/index.html
      'Timer1.Enabled = True
      Dim ii As Integer
      Dim doc, objhtml As Object
      'Do Until WebBrowser1.Busy '等待下载完成
     '    DoEvents
     ' Loop
      'DoEvents
      For ii = 0 To 1000 '等待40秒
     
          Sleep 40
          DoEvents
          If Not WebBrowser1.Busy Then
             Set doc = WebBrowser1.Document
             Set objhtml = doc.body.createtextrange()
             If Not IsNull(objhtml) Then
                WebBrowserDown = objhtml.htmltext
                Exit For
             End If
             Timer1.Enabled = False
             Set doc = Nothing
             Set objhtml = Nothing
             Exit For
         End If
      Next ii
    End Function
      

  4.   

    我的页面返回只是一个简单的“1”或“0”一个字符,因此如楼上所说是否就不能取得出来html的text了?
    还有哪位高人有更好的办法吗?
      

  5.   

    internet translate control(好像是如此拼写),使用这个控件感觉会更好一点
      

  6.   

    我也曾经使用蓝色街灯的方法试过,但我仍然不知道如何取得服务器发向客户的html数据。
      

  7.   

    对了,我使用internet translate control控件可以用其ftp协议,但是改为http协议就不会取得数据了,我用相同的GetChunk函数不能完成任务。
      

  8.   

    很简单,用internet translate controlOption Explicit
    Dim strurl As String
    Private Sub Command1_Click()
    On Error GoTo errorhandler
    strurl = Text1.Text
    If Len(strurl) > 11 Then
    Text2.Text = Inet1.OpenURL(Text1.Text)
    Else
      MsgBox ("enter valid url")
    End If
    Exit Sub
    errorhandler:
    Exit Sub
    End Sub
      

  9.   

    你使用Post方法,然后就可以发送数据了
      

  10.   

    hiiiiiijiang:如你所说,我试了一下很好用。但是如果我的页面内容很大(我将来要用到),取回来的值不全(大约只有前1K左右的数据),有什么办法解决吗?
    谢谢!
      

  11.   

    Private Sub Command1_Click()
    On Error Resume Next    Dim o   As Object
        Dim ls  As String
        WebBrowser1.Navigate "www.csdn.net"    Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
            DoEvents
        Loop    For Each o In WebBrowser1.Document.All
            DoEvents
            ls = ls & o.innerHTML
        Next
        MsgBox ls
        Debug.Print ls
    End Sub