首  页
站长信箱
868搜索
网站登录
免费计数器
免费留言本
IP来源查询
网站技术教程
网站流量统计
文章探索:   分类:    关键字:  
    什么?你还在找兼职?上兼客吧,现在兼客吧平台太火了,知名度和诚信度也很高,注册就送0.5元现金,满3元就能提现,马上到账了!最低3元就能提现,大家可以注册下试试!注册地址:http://www.jiankeba.com/computeryc1688
  + 栏目导航
  + 相关文章
文本框中光标位置的获得
用VB导入导出你的IE收藏夹
VB应用程序访问SQL Server方法..
VB访问SQL Server数据库技术全..
自动上网抓数据的机器人
自己的IE——用VB制作浏览器
VB中如何保存Webbrowser中的整..
在VB中该如何控制其它程序的弹..
保存webbrowser中的HTML内容
破译动网验证码的简单方法
轻松获取QQ密码
VB.NET获取硬盘序列号的方法
WEBBROWSER 技巧一(收藏)
VB自动登陆网络站点详解(二)..
获取webbrowser控件网页的源码
WebBrowser控件说明
关于用VB做更漂亮的窗体的思..
VB中访问存储过程的几种办法
VB6中改变屏幕的分辨率和刷新频..
VB编写一个能显示百分比的自定..
公农历转换VB类
VB.NET窗口渐淡关闭
使用VB实现邮箱自动注册(二)..
VB.NET轻松实现任务栏程序
VB.NET启动外部程序
利用vb实现图片上传
VB实现局域网内的文件传输
VB 一个Function传回多个值
在VB中实现多线程
VB 手机号码编码程序

技术教程 -> VB教程 ->  
获取webbrowser控件网页的源码
来源:转载   人气:7273   录入时间:2006/5/5


    我在网上找到使用rft控件保存webbrowse文本 txtHtml是RichTextBox
   txtHTML.Text = WebBrowser1.document.body.innerText
   'flag :rsftext 保存为txt文件,strtmp文件路径
   txtHTML.saveFile strtmp, rtfText
   
   
   将其name属性设置为web
   
   Private Sub Command1_Click()
   web.Navigate "www.google.com"
   End Sub
   
   Private Sub web_DocumentComplete(ByVal pDisp As Object, URL As Variant)
   Set doc = web.Document
   For Each i In doc.All
   msgbox typename(i)
   Text1.Text = Text1.text & vbclrf & i.innertext
   Next
   End sub
   
   转载
   
   '引用 Microsoft HTML Object Library
   
   Dim oDoc As HTMLDocument
   Dim oElement As Object
   Dim oTxtRgn As Object
   Dim sSelectedText As String
   
   Set oDoc = WebBrowser1.Document'获得文档对象
   Set oElement = oDoc.getElementById("T1")'获得ID="T1"的对象
   Set oTxtRgn = oDoc.selection.createRange'获得文档当前正选择的区域对象
   
   sSelectedText = oTxtRgn.Text'选择区域文本赋值
   
   oElement.Focus'"T1"对象获得焦点
   
   oElement.Select'全选对象"T1"
   
   Debug.Print "你选择了文本:" & sSelectedText
   
   
   上面这段儿还附送了其他功能,呵呵。精简一下是这样:
   Dim oDoc As Object
   Dim oTxtRgn As Object
   Dim sSelectedHTML As String
   
   Set oDoc = WebBrowser1.Document '获得文档对象
   Set oTxtRgn = oDoc.selection.createRange '获得文档当前正选择的区域对象
   
   sSelectedHTML = oTxtRgn.htmlText '选择区域文本赋值
   
   Text1.Text=sSelectedHTML '文本框显示抓取得HTML源码
   ......'或者继续分析源码
   
   
   我用WebBrowser取得网页源码,直接运行正常,但在编译后出错
   Private Sub Command1_Click()
   WebBrowser1.Navigate "http://www.sdqx.gov.cn/sdcity.php"
   End Sub
   
   Private Sub WebBrowser1_DownloadComplete()
   '页面下载完毕
   Dim doc, objhtml
   Set doc = WebBrowser1.Document
   
   Set objhtml = doc.body.createtextrange()
   If Not IsNull(objhtml) Then
    Text1.Text = objhtml.htmltext
   End If
   
   End Sub
   
   我用WebBrowser取得网页源码,直接运行正常,但在编译后出错
   
   提示:实时错误“91” Object 变量或 with 块变量没有设置
   可能是没有下载完所致,
   
   Private Sub WebBrowser1_DownloadComplete()
   if webbrowser.busy=false then
    Dim doc, objhtml
   Set doc = WebBrowser1.Document
   
   Set objhtml = doc.body.createtextrange()
   If Not IsNull(objhtml) Then
    Text1.Text = objhtml.htmltext
    End If
   end if
   End Sub
   
   你要得网页源码用 xmlhttp比较好
   
   先引用 msxml
   
   Dim x As New MSXML2.XMLHTTP
   x.open "get", "http://www.sina.com", False
   x.send
   
   MsgBox StrConv(x.responseBody, vbUnicode)
   
   
   我在网上找到使用rft控件保存webbrowse文本 txtHtml是RichTextBox
   txtHTML.Text = WebBrowser1.document.body.innerText
   'flag :rsftext 保存为txt文件,strtmp文件路径
   txtHTML.saveFile strtmp, rtfText
   
   
   Private Sub WebBrowser1_DownloadComplete()
   Dim objHtml As Object'下载完成时状态栏显示“Link Finished”
   Set objHtml = Me.WebBrowser1.Document.Body.Createtextrange()
    If Not IsNull(objHtml) Then
    Text1.Text = objHtml.htmltext
   End If
   End Sub
   
   使用inet控件
   
   Source1 = Inet1.OpenURL("www.csdn.net")
   If Source1 <> "" Then
    RichTextBox1.Text = Source1
    Me.Inet1.Cancel
   Else
    Source = MsgBox("Source code is not available.", vbInformation, "Source Code")
   End If
   
   Private Sub Command1_Click()
    Text1.Text = WebBrowser1.Document.body.innerHTML
   End Sub
   
   
   加入timer,commandbutton,text
   private sub command1_click()
   webbrowser1.navigate http://www.sohu.com/
   timer1.enabled=true
   end sub
   
   private sub timer1_timer()
   dim doc,objhtml as object
   dim i as integer
   dim strhtml as string
   
   if not webbrowser1.busy then
    set doc=webbrowser1.document
    i=0
    set objhtml=doc.body.createtextrange()
    if not isnull(objhtml) then
    text1.text=objhtml.htmltext
    end if
    timer1.enabled=false
    end if
   end sub
   
   
   Dim doc, objhtml As Object
   If Not webbrowser1.Busy Then
   Set doc = webbrowser1.Document
    Set objhtml = doc.body.createtextrange()
    If Not IsNull(objhtml) Then
    text1.text=objhtml.htmltext
    End If
    Set doc = Nothing
   Set objhtml = Nothing
   
   End If
   
   
   或者试试用InternetReadFile,效果也可以:
   Option Explicit
   
   Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
    ByVal sAgent As String, ByVal lAccessType As Long, _
    ByVal sProxyName As String, ByVal sProxyBypass As String, _
    ByVal lFlags As Long) As Long
   Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" ( _
    ByVal hInternetSession As Long, ByVal sUrl As String, _
    ByVal sHeaders As String, ByVal lHeadersLength As Long, _
    ByVal lFlags As Long, ByVal lContext As Long) As Long
   Private Declare Function InternetReadFile Lib "wininet.dll" ( _
    ByVal hFile As Long, ByVal sBuffer As String, _
    ByVal lNumBytesToRead As Long, _
    lNumberOfBytesRead As Long) As Integer
   Private Declare Function InternetCloseHandle Lib "wininet.dll" ( _
    ByVal hInet As Long) As Integer
   Private Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000
    Dim s
   
   Private Function GetUrlFile(stUrl As String) As String
   Dim lgInternet As Long, lgSession As Long
   Dim stBuf As String * 1024
   Dim inRes As Integer
   Dim lgRet As Long
   Dim stTotal As String
    stTotal = vbNullString
    lgSession = InternetOpen("VBTagEdit", 1, vbNullString, vbNullString, 0)
    If lgSession Then
    lgInternet = InternetOpenUrl(lgSession, stUrl, vbNullString, _
    0, INTERNET_FLAG_NO_CACHE_WRITE, 0)
    If lgInternet Then
   Do
    inRes = InternetReadFile(lgInternet, stBuf, 1024, lgRet)
    stTotal = stTotal & Mid$(stBuf, 1, lgRet)
    Loop While (lgRet <> 0)
    End If
    inRes = InternetCloseHandle(lgInternet)
    End If
    GetUrlFile = stTotal
   End Function
   
   Private Sub Command1_Click()
    Text1.Text = GetUrlFile("http://adsl.tsee.net/teleplay/view.asp?id=143")
   End Sub
   
   Set vDoc = WebBrowser1.Document'获取网页的源码
   For Each o In vDoc.All
   DoEvents
   htmlpage = htmlpage & o.innerHTML
   Next
   
   然后用写二进制文件的方法将htmlpage的内容写入到.html文件中如果这个网页中含有框架那么要对框加进行处理。



| 网站转让 | 站长信箱 | 网站登录 | 技术教程 | 免费计数器 | 免费留言本 | 868流量统计 | 好帮手网站营销 |
地址:广东省阳江市  联系电话:13725641179 杨先生
Copyright 2004-2019 868资源网- 版权所有    粤ICP备05007330号