VB关于webbrowser相关操作大全

合集下载

WebBrowser 和 VB 交互

WebBrowser 和 VB 交互

WebBrowser 和 VB 交互1. 从 VisualBasic 创建一个 StandardEXE 工程。

默认情况下创建 Form 1。

将 Internet 控件添加到您项目组件。

2. 添加从一个 WebBrowser 控件添加到 Form 1。

3. 为 Form1Load 事件添加代码如下:Private Sub Form_Load()WebBrowser1.Navigate "c:\mytest.htm"End Sub4. 为 WebBrowser1 BeforeNavigate2 事件添加代码如下:Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, _ URL As Variant, Flags As Variant, _TargetFrameName As Variant, PostData As Variant, _ Headers As Variant, Cancel As Boolean)Dim Ev As StringIf UCase$(Left$(URL, 6)) = "EVENT:" Then'this is our event, process it and cancel navigation Ev = UCase$(Mid$(URL, 7))Select Case EvCase "HELLO"MsgBox "Hello from VB App"'set a field on HTML pageWebBrowser1.Document.All("field1").Value = _"Hello from VB"Case "CLOSE"If MsgBox("Are you sure you want to exit?", _vbYesNo) = vbYes ThenEndEnd IfEnd SelectCancel = TrueEnd IfEnd Sub5. 从记事本, 键入以下文本并将其保存为 c:\mytest.htm 或其他位置 (请务必使用步骤 3 中相同位置): <HTML><BODY><INPUT type=text name=field1><p><INPUT type=button name=Hello value="Hello World"> <INPUT type=button name=Close value="Close App"> <SCRIPT LANGUAGE="VBScript">Sub Close_OnClick()location.href = "Event:Close"End SubSub Hello_OnClick()location.href = "Event:Hello"End Sub</SCRIPT></BODY></HTML>6. 从 VisualBasic 运行项目。

VB关于webbrowser相关操作大全

VB关于webbrowser相关操作大全

VB关于webbrowser相关操作大全VB关于webbrowser相关操作大全1、防止新窗口里头打开网页代码1:Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Dim frm As Form1Set frm = New Form1frm.Visible = TrueSet ppDisp = frm.WebBrowser1.objectEnd Sub代码2:有这段代码,有许多网页会出错,经常提示脚本错误,可以用silent属性为True来屏蔽,不过也有些不足!!!Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueWebBrowser1.Navigate2Webbrowser1_DownloadComplete()Set M_Dom = Webbrowser1.DocumentEnd Sub2、如何获得网页的内容先给个例子:innerHTML:设置或获取位于对象起始和结束标签内的HTML测试一下:<div id="d" style="background-color:#ff9966">这是一个层</div><input type="button" value="获取innerHTML" onclick="getinnerHTML()"><input type="button" value="设置innerHTML" onclick="setinnerHTML()"><script language="javascript">function getinnerHTML(){alert(document.getElementById("d").innerHT ML)}function setinnerHTML(){document.getElementById("d").innerHTML=" <div id='d' style='background-color:#449966'>这是一个层,嘿嘿</div>"}</script>3、多框架框架页面访问'下面两句可以访问到多框架内容'.Document.ParentWindow.Frames.Length '.Document.ParentWindow.Frames(1).Documen t.all.tags("a")'等待多框架网页全部加载完毕,否则出错While .Busy Or .ReadyState <> 4 Or .Document.ParentWindow.Frames.Length = 0DoEventsWend4、获得浏览器信息Private Sub Command1_Click()WebBrowser1.Navigate""End SubPrivate Sub Command2_Click()Dim oWindowDim oNavSet oWindow = WebBrowser1.Document.parentWindowSet oNav = oWindow.navigatorDebug.Print erAgentSet oWindow = NothingSet oNav = NothingEnd Sub5、弹出Webbrowser消息窗口Dim oWindowSet oWindow = WebBrowser1.Document.parentWindow oWindow.confirm "abcd"VB调用webbrowser技巧集26、向Webbrowser中写入HTML内容的几种方法向Webbrowser中写入HTML内容的几种方法首先在Form_Load中加入WebBrowser1.Navigate "about:blank" 确保Webbrowser1可用方法1:Dim s As StringDim stream As IStreams = ""s = s + ""s = s + ""s = s + "hello world"s = s + ""s = s + "WebBrowser1.Document.Write s方法2:Dim oSet o = WebBrowser1.Document.selection.createrange Debug.Print oIf (Not o Is Nothing) Theno.pasteHTML "哈哈"Set o = NothingEnd If方法3:'插入文本框Dim oSet o = WebBrowser1.Document.selection.createrangeo.execCommand "InsertTextArea", False, "xxx"7、控制页面滚动WebBrowser1.Document.parentwindow.scrollby 0, 308、判断页面是否可以前进后退Private Sub Command1_Click()WebBrowser1.GoForwardEnd SubPrivate Sub Command2_Click()WebBrowser1.GoBackEnd SubPrivate Sub Form_Load()WebBrowser1.Navigate""End SubPrivate Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean) If (Command = CSC_NA VIGATEBACK) Then Command2.Enabled = EnableEnd IfIf (Command = CSC_NA VIGATEFORWARD) ThenCommand1.Enabled = EnableEnd IfEnd Sub9、如何获得网页中被选中部分的HTMLPrivate Sub Command1_Click()Dim objSelectionDim objTxtRangeSet objSelection = WebBrowser1.Document.selectionIf Not (objSelection Is Nothing) ThenSet objTxtRange = objSelection.createRangeIf Not (objTxtRange Is Nothing) Then Debug.Print objTxtRange.htmlTextSet objTxtRange = NothingEnd IfSet objSelection = NothingEnd IfEnd Sub10、Navigate的参数调用请问:在WebBrwoser控件里提供的Navigate 或者Navigate2方法中提供了传递数据的参数,调用方式为:WebBrowser1.Navigate2(URL,[Flags],[TargetFrameName],[PostData],[Headers])其中PostData参数就是一个提交参数字符串,例如"name=aaa&password=123",但问题是为什么这个方法并不是有效的,服务器端不能取得数据?如果这个方法是有效的话就不需要用一段html 代码模拟这种调用了。

WebBrowser控件最详细使用说明

WebBrowser控件最详细使用说明

WebBrowser控件最详细使用说明WebBrowser控件最详细使用说明方法说明GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项GoHome 相当于IE的“主页”按钮,连接用户默认的主页GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面Navigate 连接到指定的URLRefresh 刷新当前页面Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,该表定义在ExDisp.h中,可以指定的不同值如下:REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新REFRESH_CONTINUE 仅作内部使用。

在MSDN里写着DO NOT USE! 请勿使用REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器Stop 相当于IE的“停止”按钮,停止当前页面及其内容的载入属性说明Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。

如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser控件的自动化对象Parent 返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口Container 返回WebBrowser控件容器的自动化对象。

通常该值与Parent属性返回的值相同Document 为活动的文档返回自动化对象。

如果HTML当前正被显示在WebBrowser中,则Document属性提供对DHTML Object Model的访问途径TopLevelContainer 返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回trueType 返回已被WebBrowser控件加载的对象的类型。

VB操作网页代码

VB操作网页代码

VB操作网页代码1、防止新窗口里头打开网页代码1:Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Dim frm As Form1Set frm = New Form1frm.Visible = TrueSet ppDisp = frm.WebBrowser1.objectEnd Sub代码2:有这段代码,有许多网页会出错,经常提示脚本错误,可以用silent属性为True来屏蔽,不过也有些不足!!!Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueWebBrowser1.Navigate2WebBrowser1.Document.activeElement.href例如,将WebBrowser1放大点,将PictureBox变小点...PictureBox的appearance设置为0-flat,呵呵,OK~~2、禁止鼠标右键Private Function M_Dom_oncontextmenu() As BooleanWebbrowser1.Document.oncontextmenu = False End Function'引用Microsoft HTML OBject LibraryDim WithEvents M_Dom As MSHTML.HTMLDocumentPrivate Function M_Dom_oncontextmenu() As BooleanM_Dom_oncontextmenu = FalseEnd FunctionPrivate Sub Webbrowser1_DownloadComplete()Set M_Dom = Webbrowser1.DocumentEnd Sub3、如何获得网页的内容先给个例子:innerHTML:设置或获取位于对象起始和结束标签内的HTML测试一下:<div id="d" style="background-color:#ff9966">这是一个层</div><input type="button" value="获取innerHTML" onclick="getinnerHTML()"><input type="button" value="设置innerHTML" onclick="setinnerHTML()"><script language="javascript">function getinnerHTML(){alert(document.getElementById("d").innerHT ML)}function setinnerHTML(){document.getElementById("d").innerHTML=" <div id='d' style='background-color:#449966'>这是一个层,嘿嘿</div>"}</script>4、多框架框架页面访问'下面两句可以访问到多框架内容'.Document.ParentWindow.Frames.Length'.Document.ParentWindow.Frames(1).Documen t.all.tags("a")'等待多框架网页全部加载完毕,否则出错While .Busy Or .ReadyState <> 4 Or .Document.ParentWindow.Frames.Length =DoEventsWend5、获得浏览器信息Private Sub Command1_Click()WebBrowser1.Navigate""End SubPrivate Sub Command2_Click()Dim oWindowDim oNavSet oWindow = WebBrowser1.Document.parentWindowSet oNav = oWindow.navigatorDebug.Print erAgentSet oWindow = NothingSet oNav = NothingEnd Sub6、弹出Webbrowser消息窗口Dim oWindowSet oWindow = WebBrowser1.Document.parentWindow oWindow.confirm "abcd"VB调用webbrowser技巧集27、向Webbrowser中写入HTML内容的几种方法向Webbrowser中写入HTML内容的几种方法首先在Form_Load中加入WebBrowser1.Navigate "about:blank"确保Webbrowser1可用方法1:Dim s As StringDim stream As IStreams = ""s = s + ""s = s + ""s = s + "hello world"s = s + ""s = s + "WebBrowser1.Document.Write s 方法2:Dim oSet o = WebBrowser1.Document.selection.createrange Debug.Print oIf (Not o Is Nothing) Theno.pasteHTML "哈哈"Set o = NothingEnd If方法3:'插入文本框Dim oSet o = WebBrowser1.Document.selection.createrangeo.execCommand "InsertTextArea", False, "xxx"8、控制页面滚动WebBrowser1.Document.parentwindow.scrollby 0, 309、判断页面是否可以前进后退Private Sub Command1_Click() WebBrowser1.GoForwardEnd SubPrivate Sub Command2_Click() WebBrowser1.GoBackEnd SubPrivate Sub Form_Load()WebBrowser1.Navigate""End SubPrivate Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean) If (Command = CSC_NA VIGATEBACK) Then Command2.Enabled = EnableEnd IfIf (Command = CSC_NA VIGATEFORWARD) ThenCommand1.Enabled = EnableEnd IfEnd Sub10、如何获得网页中被选中部分的HTMLPrivate Sub Command1_Click()Dim objSelectionDim objTxtRangeSet objSelection = WebBrowser1.Document.selectionIf Not (objSelection Is Nothing) ThenSet objTxtRange = objSelection.createRangeIf Not (objTxtRange Is Nothing) Then Debug.Print objTxtRange.htmlTextSet objTxtRange = NothingEnd IfSet objSelection = NothingEnd IfEnd Sub11、Navigate的参数调用请问:在WebBrwoser控件里提供的Navigate 或者Navigate2方法中提供了传递数据的参数,调用方式为:WebBrowser1.Navigate2(URL,[Flags],[TargetFrameName],[PostData],[Headers])其中PostData参数就是一个提交参数字符串,例如"name=aaa&password=123",但问题是为什么这个方法并不是有效的,服务器端不能取得数据?如果这个方法是有效的话就不需要用一段html 代码模拟这种调用了。

VBWebbrowser控件使用方法

VBWebbrowser控件使用方法
VB Webbr‎ owser‎控件使用方‎ 法
方法
说明
GoBac‎k 相当于 IE‎的“后退”按钮,使你在当前‎历史列表中‎后退一项
GoFor‎ward 相当于 IE‎的“前进”按钮,使你在当前‎历史列表中‎前进一项 GoHom‎e 相当于 IE‎的“主页”按钮,连接‎的“搜索”按钮,连接用户默‎认的搜索页‎面 Navig‎ate 连接到指定‎的 URL
返回一个 B‎oolea‎n 值,说明 Web‎Brows‎er 当前是‎否正在加 载‎URL,如果返回 t‎rue 就可以使用‎stop 方‎法来撤销正‎在执行的访‎问操作
WebBr‎owser‎ 的事件
Priv a‎te Ev ent‎s
Descr‎iptio‎n
Befor‎eNavi‎gate2‎
Priva‎te Sub Comma‎nd2_C‎lick() WebBr‎owser‎1.Docum‎ent.paren‎twind‎ow.scrol‎lby 0, 30 End Sub
Priva‎te Sub Form _‎Load() WebBr‎owser‎1.Navig‎ate "http://www.apple‎" End Sub
VB 调用 w‎ebbro‎wser 技‎巧集 4
1、如何使网页‎不出现滚动‎条:
Priva‎te Sub mnuSc ‎roll1‎_Clic‎k() @#注意:必须在网页‎完全显示之‎后才可以运‎行 WebBr‎owser‎1.Docum‎ent.body.Scrol‎l = "no" @#不显示滚动‎条的办法 End Sub Priva‎te Sub mnuSc ‎roll2‎_Clic‎k() @#注意:必须在网页‎完全显示之‎后才可以运‎行 WebBr‎owser‎1.Docum‎ent.body.Scrol‎l = "Auto" @#显示滚动条‎的办法 End Sub

webbrowser 用法

webbrowser 用法

一、webbrowser 的定义与作用webbrowser,即网页浏览器,是一种用于访问互联全球信息站网页的软件工具。

通过webbrowser,用户可以输入网页位置区域并访问网页内容,浏览器还可以展示各种网页元素,如文字、图片、视瓶和动画等。

由于其重要作用,webbrowser在现代社会中被广泛使用,成为人们日常生活中不可或缺的工具之一。

二、webbrowser 的基本使用方法在使用webbrowser时,我们通常需要了解一些基本的使用方法,以便更加高效地浏览网页内容。

1. 打开 webbrowser要打开webbrowser,只需在计算机桌面或程序菜单中找到已安装的浏览器图标,并双击打开即可。

常见的webbrowser包括Google Chrome、Mozilla Firefox、Microsoft Edge和Safari等。

用户可以根据自己的喜好和需求选择合适的浏览器。

2. 输入全球信息站在webbrowser的位置区域栏中输入网页的URL位置区域,即可打开相应的网页。

用户也可以利用webbrowser提供的搜索引擎功能,在搜索框中输入关键词进行网页搜索。

3. 浏览网页内容一旦打开了网页,用户可以通过滚动页面、点击信息或者进行搜索等操作来浏览网页内容。

webbrowser还提供了书签功能,用户可以将常用的网页添加到书签栏中,以便快速访问。

4. 下载和管理文件webbrowser允许用户在网页上下载各种文件,如文档、图片、音频和视瓶等。

用户可以在下载管理器中查看和管理已下载的文件。

5. 多标签浏览现代webbrowser支持多标签浏览功能,用户可以在同一个浏览器窗口中打开多个标签页,方便在不同页面之间进行切换和比较。

6. 清除浏览数据webbrowser还提供清除浏览数据的功能,用户可以清除浏览历史、缓存文件和 Cookie 等数据,以保护个人隐私并提升浏览速度。

三、webbrowser 的高级功能与技巧除了基本的浏览网页功能外,webbrowser还具有一些高级功能和技巧,可以帮助用户更好地利用浏览器。

VB功能模块:最全的VB操作网页功能模块

VB功能模块:最全的VB操作网页功能模块

VB功能模块:最全的VB操作网页功能模块Public Function HtmlStr$(URL$) '提取网页源码函数Dim XmlHttpSet XmlHttp = CreateObject("Microsoft.XMLHTTP")XmlHttp.Open "GET", URL, FalseXmlHttp.SendIf XmlHttp.ReadyState = 4 Then HtmlStr =StrConv(XmlHttp.Responsebody,vbUnicode)End Function2.函数调用:Dim strweb1 As Stringstrweb1=HtmlStr("http://www.baidu.c om")二、获取WebBrowser控件中网页源代码1.函数代码:Public Function WebDaima(WebBrowser, BuFen) '获取WebBrowser控件中网页源代码Select Case BuFenCase "Body" '只获取<body>与</body>之间的代码WebDaima = WebBrowser.Document.body.innerhtmlCase "All" '获取整个网页源代码WebDaima =WebBrowser.Document.documentelement.outerhtmlCase ElseWebDaima =WebBrowser.Document.documentelement.outerhtmlEnd SelectEnd Function2.调用Dim strweb As Stringstrweb=WebDaima(frmIndex.WebBrowser1,"All") '获取整个网页源代码strweb=WebDaima(frmIndex.WebBrowser1,"Body") '只获取body中源代码三、提取字符串或网页源代码中指定的资源(可利用这一函数做文章采集器)1.函数代码:Public Function FindStrMulti$(Strall$,FirstStr$, EndStr$, SplitStr$) '提取字符串或网页源代码中所有指定代码'参数'总文本,起始字符串,终止字符串,分隔符Dim i&, j&j = 1Doi = InStr(j, Strall, FirstStr)If i = 0 ThenExit DoEnd Ifi = i + Len(FirstStr)j = InStr(i, Strall, EndStr)If j > 0 ThenFindStrMulti = IIf(Len(FindStrMulti) > 0, FindStrMulti & SplitStr, "") & Mid(Strall,i, j - i)ElseExit DoEnd IfLoopEnd Function2.函数调用截取字符串中的内容Dim str1 As StringDim str2 As Stringstr1 = "<table><tr><td>要截取的内容</td></tr></table>"str2 = FindStrMulti(str1, "<td>", "</td>", "")MsgBox str2'此时str2的值就为要截取的内容文章列表标题链接采集实例网页代码<DIV id=content><SPAN class=navbar><STRONG><Ahref="/blog/">博客首页</A> > 文章列表</STRONG></SPAN><TABLE class=content_tablewidth="100%"><TBODY><TR><TD><H1>比目鱼博客文章列表</H1><P><UL><LI><SPAN class=list-category>[文坛张望]</SPAN> <A class=list-title href="/blog/archives/119491210.shtml"> <STRONG>谁会拿下2010年的诺贝尔文学奖?</STRONG></A> <SPAN class=list-date>(2010-10-01 22:38)</SPAN></LI> <LI><SPAN class=list-category>[视觉训练]</SPAN> <A class=list-title href="/blog/archives/119247165.shtml"> <STRONG>书法练习二幅</STRONG></A> <SPAN class=list-date>(2010-09-29 01:51)</SPAN> </LI><LI><SPAN class=list-category>[文坛张望]</SPAN> <A class=list-title href="/blog/archives/118604217.shtml"> <STRONG>骆以军对话董启章</STRONG></A> <SPAN class=list-date>(2010-09-21 17:15)</SPAN> </LI> <LI><SPAN class=list-category>[视觉训练]</SPAN> <A class=list-title href="/blog/archives/118206492.shtml"> <STRONG>夜临古画(六)</STRONG></A><SPAN class=list-date>(2010-09-17 01:46)</SPAN> </LI> <LI><SPAN class=list-category>[我也读书]</SPAN> <A class=list-title href="/blog/archives/117345094.shtml"> <STRONG>Jennifer Egan 的《A Visit From the Goon Squad》</STRONG></A> <SPAN class=list-date>(2010-09-07 02:30)</SPAN> </LI><LI><SPAN class=list-category>[我也读书]</SPAN> <A class=list-title href="/blog/archives/116446375.shtml"> <STRONG>当我们谈论电子书的时候我们在谈论电子书阅读器</STRONG></A> <SPAN class=list-date>(2010-08-27 16:51)</SPAN> </LI><LI><SPAN class=list-category>[IT互联网]</SPAN> <A class=list-title href="/blog/archives/116133972.shtml"> <STRONG>“读写人”和“比目鱼”网站的手机版</STRONG></A> <SPAN class=list-date>(2010-08-2402:04)</SPAN> </LI></UL><P></P><P align=center><P align=center><STRONG>1 <A href="/blog/list_all_2.shtml">2</A> <A href="/blog/list_all_3.shtml">3</A> <A href="/blog/list_all_4.shtml">4</A> <A href="/blog/list_all_5.shtml">5</A> <Ahref="/blog/list_all_6.shtml">6</A> <Ahref="/blog/list_all_7.shtml">7</A> <Ahref="/blog/list_all_8.shtml">8</A> <Ahref="/blog/list_all_2.shtml">>></A></STRONG></P><P></P></TD></TR></TBODY></TABLE><P> </P></DIV><!-- END CONTENT--><!-- BEGIN SITEBAR --><DIV id=sidebar><P>从以上代码中获取<ul>与</ul>之间所有文章的标题链接,实现方法如下:Dim strWeb As StringDim i As IntegerDim strListArea As StringDim strLink '定义存放列表文章链接的数组strWeb =WebDaima(Me.WebBrowser1, "Body") '获取网页body代码(具体查看WebDaima函数)strListArea = FindStrMulti(strWeb,"<H1>比目鱼博客文章列表</H1>","</UL>", "") '截列表区域代码'获取列表区域中文章链接,并存在在数组strLink中strLink = Split(FindStrMulti(strListArea,"href=" & Chr(34), Chr(34) &"><STRONG>", vbCrLf), vbCrLf)For i = 0 To UBound(strLink) '循环输出链接Text1.Text = Text1.Text & strLink(i) & vbCrLfNext i四、中文汉字转化为URL编码函数代码:'以下两个函数用于将文字转化为UTF8或GBK编码:(如在百度中搜索内容时,百度先将搜索词转化为UTF8的编码,再传送给服务器)'调用:'KeyWordUtf = UTF8EncodeURI(KeyWord) 或 KeyWordUtf= GBKEncodeURI(KeyWord)Public Function UTF8EncodeURI(szInput)Dim wch, uch, szRetDim XDim nAsc, nAsc2, nAsc3If szInput = "" ThenUTF8EncodeURI = szInputExit FunctionEnd IfFor X = 1 To Len(szInput)wch = Mid(szInput, X, 1)nAsc = AscW(wch)If nAsc < 0 Then nAsc = nAsc + 65536If (nAsc And &HFF80) = 0 ThenszRet = szRet & wchElseIf (nAsc And &HF000) = 0 Thenuch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80) szRet = szRet & uchElseuch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _Hex(nAsc And &H3F Or &H80)szRet = szRet & uchEnd IfEnd IfNextUTF8EncodeURI = szRetEnd FunctionPublic Function GBKEncodeURI(szInput)Dim i As LongDim X() As ByteDim szRet As StringszRet = ""X = StrConv(szInput, vbFromUnicode)For i = LBound(X) To UBound(X)szRet = szRet & "%" & Hex(X(i))NextGBKEncodeURI = szRetEnd Function函数调用:MsgBox UTF8EncodeURI("中文汉字")MsgBox GBKEncodeURI("中文汉字")五、获取网页中的验证码函数代码:Public Function GetImg(WebBrowser, Img, sxz)'参数'WebBrowser:等获取验证码网页所在的WebBrowser控件'Img:显示验证码的Image控件'sxz:网页中验证码相应属性的属性值Dim CtrlRange, xFor Each x In WebBrowser.Document.AllIf UCase(x.tagName) = "IMG" Then'x.src为验证码图片的属性,也可是其他属性如 x.onload等If InStr(x.src,sxz) > 0 ThenSet CtrlRange = WebBrowser.Document.body.createControlRange()CtrlRange.Add (x)CtrlRange.execCommand ("Copy")Debug.Print "Copy"Img.Picture = Clipboard.GetDataEnd IfEnd IfNextEnd Function函数调用:'如获取网页中的验证码图片代码如下:'<IMG id=valiCode style="CURSOR: pointer" alt=验证码src="/VerifyCode_Login.aspx" border=0>'获取验证码函数调用如下:Call GetImg(Form1.WebBrowser1, Form1.Image1, "VerifyCode_Login.aspx") 六、WebBrowser控件中网页按钮的点击'<BUTTON id="WordSearchBtn"class="btn">查询</button>'此按钮的点击方法WebBrowser1.Document.getelements bytagname("BUTTON")("WordSearchBtn").Click七、WebBrowser控件中网页文本框的赋值'文本框代码:<input id="WordInput"maxlength="40" type="text" />WebBrowser1.Document.getelements bytagname("input")("WordInput").Value ="要在文本框输入的文字"'此处WordInput为文本框的ID或Name 属性值八、WebBrowser控件中网页列表/菜单表单选项的选取函数代码Public Function SelectXq(WebBrowser, SelectName, SelectValue)'参数'WebBrowser:WebBrowser控件名称'SelectName:网页中列表/菜单表单名称或ID值'SelectValue:选中值WebBrowser.doc.All.Item(SelectName ).Value = SelectValueEnd Function函数调用方法:WebBrowser中网页Select表单代码如下:<SELECTid=ctl00_ContentPlaceHolder1_DropDownList1name=ctl00$ContentPlaceHolder1$DropDownList1> <OPTION value=我就读的第一所学校的名称? selected>我就读的第一所学校的名称?</OPTION> <OPTIONvalue=我最喜欢的休闲运动是什么?>我最喜欢的休闲运动是什么?</OPTION><OPTION value=我最喜欢的运动员是谁?>我最喜欢的运动员是谁?</OPTION><OPTION value=我最喜欢的物品的名称?>我最喜欢的物品的名称?</OPTION><OPTION value=我最喜欢的歌曲?>我最喜欢的歌曲?</OPTION> <OPTION value=我最喜欢的食物?>我最喜欢的食物?</OPTION> <OPTION value=我最爱的人的名字?>我最爱的人的名字?</OPTION><OPTION value=我最爱的电影?>我最爱的电影?</OPTION> <OPTION value=我妈妈的生日?>我妈妈的生日?</OPTION></SELECT>'让列表表单选中选项值为我最爱的人的名字的选项Call SelectXq(Form1.WebBrowser1, "ctl00_ContentPlaceHolder1_DropDownList1", "我最爱的人的名字?")八、自动填写注册表单并提交网页表单代码<form method="POST" action="re sult.asp"><p>请填写下面表单注册(*项为必添项)</p><p>*姓名<input type="text" name="Name" size="20"></p><p>*男<input type="radio" value="V1" name="R1"></p><p>*女<input type="radio" value="V1" name="R2"></p><p>*昵称<input type="text" name="NickName"size="20"></p><p>*兴趣爱好<select name="aihao"><option value="计算机">计算机</option><option value="游戏">游戏</option><option value="逛街">逛街</option></select></p><p>电子邮件<input type="text" name="EMail" size="20"></p><p>*密码<input type="password" name="Password" size="20"></p><p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p></form>填写表单并提交操作代码Private Sub Form_Load()WebBrowser1.Navigate2 App.Path & "\test.htm"End SubPrivate Sub WebBrowser1_DocumentComplete(ByValpDisp As Object, URL As Variant)Dim vDoc, vTagDim i As IntegerSet vDoc = WebBrowser1.DocumentList1.ClearFor i = 0 To vDoc.All.length - 1If UCase(vDoc.All(i).tagName) = "INPUT" Or UCase(vDoc.All(i).tagName) = "SELECT" ThenSet vTag = vDoc.All(i)If vTag.Type = "text" Or vTag.Type = "password" Or vT ag.Type = "radio" Or = "aihao" ThenList1.AddItem Select Case Case "Name"vTag.Value = "IMGod"Case "R2"vTag.Checked = TrueCase "NickName"vTag.Value = "IMGod"Case "aihao"vTag.Value = "逛街"Case "Password"vTag.Value = "IMGodpass"Case "EMail"vTag.Value="******************"End SelectElseIf vTag.Type = "submit" ThenvTag.ClickEnd IfEnd IfNext iEnd Sub九、限制WebBrowser控件中网页的所有链接在同一个窗口打开Private Sub Form_Load()WebBrowser1.Navigate ("/tool")End SubPrivate SubWebBrowser1_NewWindow2(ppDisp AsObject, Cancel As Boolean)Cancel = TrueWebBrowser1.NavigateWebBrowser1.Document.activeelement.hrefEnd Sub十、控件WebBrowser控件中网页弹窗或新窗口打开的链接在另一个WebBrowser控件中打开Private SubWebBrowser1_NewWindow2(ppDisp AsObject, Cancel As Boolean)Set ppDisp = WebPageAd.ObjectEnd Sub十一、禁止WebBrowser控件中网页弹窗Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueEnd Sub。

如何在VB中控制webbrowser的弹出窗口

如何在VB中控制webbrowser的弹出窗口

如何在VB中控制webbrowser的弹出窗口如何在VB中控制webbrowser的弹出窗口:因为我做浏览器从来不用webbrowser或者说从来不做浏览器对它不是很熟悉,找了几篇文章,希望对你有帮助!方法一:控制webbrowser不弹出IE窗口的方法是在控件的NewWindow2事件里面添加如下代码:Set ppDisp = WebBrowserTemp.Object ' WebBrowserTemp 为自己在窗体中另外添加的Webbrowser控件如果禁止弹出窗口,不做处理,则在NewWindow2事件里添加如下代码即可:Cancel = True摘自:方法二:利用OnDownloadBegin和OnDownloadComplete以CHtmlView为例,弹出的广告窗口都是通过CHtmlView::OnNewWindow2( LPDISPATCH* ppDisp, BOOL* Can cel );打开的。

关于OnNewWindow2不想多说,只说说这第2个参数 BOOL* Cancel当Cancel = false的时候就不能打开新窗口了,如果你的CHtmlView的该参数一直为FALSE那么一切弹出窗口都不能打开,广告窗口自然就没了。

那~~~要是总FALSE岂不是正常网页也无法浏览了?别忙,接下来要做的就是在适当的时候让这个参数返回FALSE。

抛开CHtmlView我们回头来看看IE下载网页弹出广告窗口的过程:OnDownloadBegin ---->发现window.open等Js或者vbs ---->OnNewWindow2 ---->OnDownloadComplete了解了上述过程之后......什么时候让OnNewWindow2的第2个参数为FALSE你就清楚了吧!下面跟我实战。

给你的从CHtmlView派生而来的CNoPopHtmlView加一个成员变量BOOL m_bPop;在构造函数里给m_bPop初始化为:m_bPop = TRUE;重载OnDownloadBegin虚函数,在其中加入:m_bPop = FALSE;重载OnDownloadComplete虚函数,在其中加入:m_bPop = TRUE;重载OnNewWindow2虚函数,在其中加入:Cancel = m_bPop;这样CNoPopHtmlView将不在打开广告窗口,关键在于了解IE 的下载、弹出窗口的过程。

在VB中使用IE的WebBrowser控件

在VB中使用IE的WebBrowser控件

在VB中使用IE的WebBrowser控件在程序设计中,如何设计出美观、实用,有个性的界面是每个程序设计者在界面设计中追求的目标。

随着Windows XP的推出,各种与众不同的华丽界面越来越被程序设计者和软件使用者所认同。

利用Windows中的WebBrowser控件,可以把华丽的网页设计技术应用到界面设计中去,例如微软著名的MSN浏览器的许多界面其实就是一个Web页,Windows XP中的帮助中心、Microsoft Encarta(微软百科全书)等许多软件中的一些界面也是利用WebBrowser控件显示的Web页。

利用WebBrowser控件显示一个网页,制作一个简单的浏览器已经有很多文章介绍,实现也不复杂,但如何实现程序与Web页的交互则是将其应用到界面设计中的关键。

ActiveX控件和WebBrowser控件的使用用Visual Basic 创建一个应用程序的第一步是创建界面。

而控件则是创建界面的基本模块,是包括在窗体对象内的对象。

每种类型的控件都有自己的属性、方法和事件,属性一般控制控件的外观、大小等性质,方法则是控件的能力或者功能,事件则代表与用户的交互,例如鼠标的移动点击、键盘的输入等都会触发相应的事件。

WebBrowser控件是随IE 3.0以上版本提供的一个可编程的ActiveX控件,利用WebBrowser控件可以显示、控制、分析Web 页,除了IE,chm格式的帮助的浏览,还广泛应用在以IE为核心的许多浏览器和其他程序中。

WebBrowser控件在VB中的使用很简单。

启动VB,创建一个标准EXE工程,选择工程——部件,打开部件对话框,从中找到Microsoft Internet Controls,选中后单击应用,然后关闭对话框(下图),可以看到WebBrowser控件已经添加到工具栏。

将WebBrowser控件拖至窗体,调整到相应大小,打开代码窗口,在Form_Load过程中键入如下代码:Private Sub Form_Load()WebBrowser1.Navigate ""End Sub运行程序,可以看到搜狐的主页显示在了相应的对话框中了。

WebBrowser用法总结

WebBrowser用法总结

WebBrowser⽤法总结简单⽤了⼀下记录⼀下:private void button1_Click(object sender, EventArgs e){MessageBox.Show(webBrowser1.Document.Body.InnerHtml);//得到浏览器html内容,还可以⽤GetElementById();}private void Form2_Load(object sender, EventArgs e){webBrowser1.Navigate("");}url:教你在C#中WebBrowser的使⽤其实⽹络上这类⽂章很多,我⼤致从头说说我⾃⼰的经验。

1、加⼊引⽤在控件栏按右键,选择“添加/移除项”,选COM组件,选中“Microsoft Web Browser”。

然后就可以往窗体上拖出⼀个该控件(下⾯把该控件⼀个对象称为webBrowser)。

控件属性中可以调整的不多,从⼀些资料中得知WebBrowser中的MenuBar、StatusBar等其实都没实现。

2、控件的函数由于是COM过来的控件,它的⼀些函数就⽐较怪,基本的Navigate函数除了第⼀个参数外,其它都是ref类型的,需要显式地写ref才能调⽤。

⼀般要使之导向到某个页⾯,先设置⼀个空对象,object objNull=null;然后webBrowser.Navigate(strPage, ref objNull, ref objNull, ref objNull, ref objNull);即可。

具体其它四个参数可参考相关⽂档。

还有⼀个常⽤的功能,就是怎么让浏览器显⽰⾃⼰的html⽂档,⼀个⽅法是⽤DOM⾥根元素的innerText:((mshtml.HTMLDocumentClass)webBrowser.Document).documentElement.innerText=sHTML;相当⽤于Javascript设置⽹页的代码。

WebBrowser的8个方法、13个属性和事件

WebBrowser的8个方法、13个属性和事件

WebBrowser的8个方法、13个属性和事件方法说明===========================================GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项GoHome 相当于IE的“主页”按钮,连接用户默认的主页GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面Navigate 连接到指定的URLRefresh 刷新当前页面Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,该表定义在ExDisp.h中,可以指定的不同值如下:REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新REFRESH_CONTINUE 仅作内部使用。

在MSDN里写着DO NOT USE! 请勿使用REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器Stop 相当于IE的“停止”按钮,停止当前页面及其内容的载入属性说明===========================================================Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。

如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser控件的自动化对象Parent 返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口Container 返回WebBrowser控件容器的自动化对象。

通常该值与Parent属性返回的值相同Document 为活动的文档返回自动化对象。

VB操作网页代码

VB操作网页代码

VB操作网页(wǎnɡ yè)代码VB操作网页(wǎnɡ yè)代码1、防止新窗口里头打开(dǎ kāi)网页代码(dài mǎ)1:Private SubWebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Dim frm As Form1Set frm = New Form1frm.Visible = TrueSet ppDisp = frm.WebBrowser1.objectEnd Sub代码(dài mǎ)2:有这段代码,有许多网页会出错,经常提示脚本错误,可以用silent属性(shǔxìng)为True来屏蔽,不过也有些不足!!!Private SubWebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueWebBrowser1.Navigate2WebBrowser1.Document.activeElement.hrefEnd Sub代码(dài mǎ)3:Private SubWebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)On Error Resume NextDim frmWB As Form1Set frmWB = New Form1frmWB.WebBrowser1.RegisterAsBrowser = TrueSet ppDisp = frmWB.WebBrowser1.object frmWB.Visible = TruefrmWB.Top = Form1.TopfrmWB.Left = Form1.LeftfrmWB.Width = Form1.WidthfrmWB.Height = Form1.HeightEnd Sub功能(gōngnéng)差不多,任选一个。

vb自制网页浏览器

vb自制网页浏览器

自制网页浏览器1、新建一个工程,将Form1的Caption属性设置为“小叮当的浏览器”。

2、然后右击工具箱并选中“Microsoft Internet Controls”控件将其添加到工具箱中。

这时工具箱中会多了一个地球图标,这所代表的控件就是WebBrowser。

3、将WebBrowser控件放置到Form1窗口中,由于在运行程序之后无法调整这个控件的大小,所以应该根据窗口的大小来调整它的大小,使其能够覆盖到大部分窗口区域。

4、在Form1窗口中添加1个CommandButton控件,将它的Caption属性分别设置为“打开文件”。

5、在Form1窗口中添加一个Common Dialpg控件,用于选择本地硬盘中的H TML文件。

6、添加一个ComboBox控件,用来输入和显示网页地址。

7、右击工具箱并将Microsoft Windows Common Control控件添加到工具箱中,接着添加一个StatusBar控件和一个ProgressBar控件。

所有控件添加完成之后如图所示。

接着我们来看看程序的代码部分:1、双击Form1窗口,并输入下列代码:Private Sub Form_Load()Combo1.Text = ""Combo1.Top = 0/设置URL地址栏起始位置Combo1.Left = 0WebBrowser1.Top = Combo1.Top +Combo1.Height/设置页面浏览区位置WebBrowser1.Left = 0Form_ResizeStatusBar1.Style = sbrSimpleProgressBar1.ZorderEnd Sub2、选择Form1的“Resize”并输入下列代码:Private Sub Form_Resize()On Error GoTo aCombo1.Width = Form1.Width -100/URL地址栏宽度随窗口大小调整而变化WebBrowser1.Width = Combo1.WidthWebBrowser1.Height = Form1.Height -Combo1.Height -1000/浏览器高度随窗口大小调整而变化ProgressBar1.Top = Me.Height -StatusBar1.Height -330/进程ProgressBar1.Left = 0.25 * StatusBar1.WidthProgressBar1.Width = 0.75 * Me.Width -250a:End Sub3、双击Combo1控件,并输入下列代码:Private Sub Combo1_Click()WebBrowser1.Navigate Combo1.Text/打开指定网址End Sub4、选择Combo1控件的“KeyDown”并输入下列代码:Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)Dim I As LongDim existed As BooleanIf KeyCode = 13 ThenIf Left(Combo1.Text, 7) <> "http://"Then/如果输入网址不是以“http://”开头则自动添加Combo1.Text = "http://"+Combo1.TextEnd IfWebBrowser1.Navigate Combo1.Text/URL地址栏保存的网站地址For I = 0 To Combo1.ListCount -1If Combo1.List(I) = Combo1.Text Thenexisted = TrueExit ForElseexisted = FalseEnd IfNextIf Not existed ThenCombo1.AddItem (Combo1.Text)/如果输入新的网站则自动保存End IfEnd IfEnd Sub5、选择WebBrowser1控件的“DownloadBegin”事件并输入下列代码:Private Sub WebBrowser1_DownloadBegin()StatusBar1.SimpleText = "载入中…"/下载开始时状态栏显示“载入中…”End Sub6、选择WebBrowser1控件的“DownloadComplete”事件并输入下列代码:Private Sub WebBrowser1_DownloadComplete()StatusBar1.SimpleText = "下载完成"/下载完成时状态栏显示“下载完成”ProgressBar1.Value = 0End Sub7、选择WebBrowser1控件的“ProgressChange”事件并输入下列代码:Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long,ByVal Pro gressMax As Long)If ProgressMax = 0 Then Exit Sub/下载进行时进度条变化ProgressBar1.Max = ProgressMaxIf Progress <> -1 And Progress <= ProgressMax ThenProgressBar1.Value = ProgressEnd IfEnd Sub8、选择WebBrowser1控件的“TitleChange”事件并输入下列代码:Private Sub WebBrowser1_TitleChange(ByVal Text As String)Combo1.Text = WebBrowser1.LocationURLEnd Sub9、双击CommandButton1控件并输入下列代码:Private Sub Command1_Click()CommonDialog1.ShowOpen/激活打开文件对话框选择文件WebBrowser1.Navigate CommonDialog1.FileNameEnd Sub。

WebBrowser控件使用详解

WebBrowser控件使用详解

WebBrowser控件使用详解WebBrowser 的事件Private Events Description BeforeNavigate2 导航发生前激发,刷新时不激发CommandStateChange 当命令的激活状态改变时激发。

它表明何时激活或关闭Back和Forward菜单项或按钮DocumentComplete 当整个文档完成是激发,刷新页面不激发DownloadBegin 当某项下载操作已经开始后激发,刷新也可激发此事件DownloadComplete当某项下载操作已经完成后激发,刷新也可激发此事件NavigateComplete2 导航完成后激发,刷新时不激发NewWindow2 在创建新窗口以前激发OnFullScreen 当FullScreen属性改变时激发。

该事件采用VARIENT_BOOL的一个输入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE)OnMenuBar 改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。

VARIANT_TRUE是可见,VARIANT_FALSE是隐藏OnQuit 无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发OnStatusBar 与OnMenuBar调用方法相同,标示状态栏是否可见。

OnToolBar 调用方法同上,标示工具栏是否可见。

OnVisible 控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数StatusTextChange 如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏TitleChange Title有效或改变时激发一些使用技巧1.禁止右键看到很多关于WebBrowser控件禁止右键的提问,回复的方法很多,其中有提到使用微软提供的Webbrowser扩展COM服务器对象(WBCustomizer.dll),但是该方法在我们想使用Webbrowser编辑网页(Webbrowser1.Document.execCommand "editMode")的时候有很多弊端,比如不能显示选中的文本等。

webbrowser用法

webbrowser用法

webbrowser是Python中内置的一个模块,用于控制Web浏览器的操作。

它可以启动默认的Web浏览器,打开指定的URL,还可以在浏览器中执行JavaScript代码等操作。

以下是一些常用的webbrowser函数及其用法:1. webbrowser.open(url, new=0, taboolaexec=False):打开指定的URL。

new参数指定是否在新窗口中打开URL,如果为1,则在新窗口中打开,否则在当前窗口中打开。

taboolaexec参数指定是否使用Taboola广告。

2. webbrowser.open_new(url):在新窗口中打开指定的URL。

相当于webbrowser.open(url, new=1)。

3. webbrowser.open_new_tab(url):在新标签页中打开指定的URL。

4. webbrowser.get().open(url, new=0, autoraise=True):打开指定的URL。

autoraise参数指定是否将浏览器窗口置于最前面。

5. webbrowser.get().open_new(url):在新窗口中打开指定的URL。

6. webbrowser.get().open_new_tab(url):在新标签页中打开指定的URL。

7. webbrowser.get().execute_script(script):在当前浏览器中执行JavaScript脚本。

需要注意的是,使用webbrowser模块时需要先导入webbrowser库。

另外,不同的浏览器有不同的处理方式,因此在使用webbrowser时需要根据具体情况选择合适的浏览器。

vb+Webbrowser控件详解

vb+Webbrowser控件详解

VB调用webbrowser技巧集4
1、如何使网页不出现滚动条:
Private Sub mnuScroll1_Click()
@#注意:必须在网页完全显示之后才可以运行
WebBrowser1.Document.body.Scroll = "no" @#不显示滚动条的办法
End Sub
WebBrowser1.Navigate2 "about:blank"
End Sub
Top
********************************************************************
请问:在WebBrwoser控件里提供的Navigate或者Navigate2方法中提供了传递数据
Response.Write(strName)
Response.Write(strPassword)
if strName="KingZhang" and strPassword="123456" then
Response.Write("登陆成功")
else
Response.Write("非法登陆用户!")
"hello")
End Sub
asp源码:
<%@ Language=BScript %>
<%
dim strName
dim strPassword
strName=Trim(Request.Form("name"))
strPassword=Trim(Request.Form("password"))

VBA在网页自动化操作中的技巧

VBA在网页自动化操作中的技巧

VBA在网页自动化操作中的技巧随着互联网的迅猛发展,网页自动化操作变得越来越重要。

VBA(Visual Basic for Applications)是一种用于Microsoft Office套件的编程语言,可以通过使用VBA来实现网页自动化操作。

本文将向您介绍使用VBA在网页自动化操作中的一些技巧。

1. 使用VBA中的IE对象在VBA中,您可以使用IE对象来操作Internet Explorer浏览器。

首先,您需要在VBA编辑器中启用“Microsoft Internet Controls”引用。

然后,您可以创建一个IE对象,并使用其属性和方法来控制浏览器。

例如,您可以使用IE对象的Navigate方法来加载网页,使用它的Document属性来访问网页的DOM结构,以及使用它的Quit方法来关闭浏览器。

2. 通过VBA自动填写表单在网页上填写表单是一项常见的任务,使用VBA可以自动化此过程。

通过使用IE对象的Document属性,您可以访问表单的各个元素,并使用其Value属性来设置值。

例如,您可以使用以下代码将一个文本框的值设置为“John”:```IE.Document.getElementById("txtName").Value = "John"```您可以根据需要修改代码,以适应不同的表单和元素。

3. 使用VBA自动点击按钮在网页上点击按钮是另一个常见的任务,使用VBA可以实现自动化。

通过使用IE对象的Document属性,您可以找到要点击的按钮元素,并使用其Click方法来模拟点击操作。

例如,以下代码将点击一个名为“btnSubmit”的按钮:```IE.Document.getElementById("btnSubmit").Click```您可以根据实际情况调整代码,找到适合的按钮元素,并通过Click方法触发按钮点击。

VB动态添加WebBrowser控件,并拦截弹出窗口(不用引用任何组件)

VB动态添加WebBrowser控件,并拦截弹出窗口(不用引用任何组件)

VB动态添加WebBrowser控件,并拦截弹出窗⼝(不⽤引⽤任何组件)WBCustomizer.dll 这个1、注册::在开始菜单中输⼊RegSvr32路径(WBCustomizer.dll⽂件所在的绝对路径),若果注册成功,会提⽰2、引⽤:在⼯程--》引⽤中,选择microsoft webbrows customizer sample object3、使⽤:如下举例Dim CustomWB As WBCustomizerSet CustomWB = New WBCustomizerWith CustomWB.EnableAccelerator vbKeyN, vbKeyControl, True'表⽰启⽤ctrl+N键.EnableAccelerator vbKeyO, vbKeyControl, fasle '禁⽤ctrl+O键.EnableContextMenus = True'启⽤右键菜单若赋值false 禁⽤右键菜单.EnableAllAccelerators = TrueSet .WebBrowser = WebBrowser1End With新建空⽩窗体,然后粘帖下⾯代码:1Option Explicit2Public WithEvents br As VBControlExtender34Private Sub br_ObjectEvent(Info As EventInfo)5If = "NewWindow2"Then6'Dim fm As New Form17'fm.Show8'Info.EventParameters(0) = br.object ‘根据需要可实现在⾃⼰的新开窗⼝打开弹出窗⼝9 Info.EventParameters(1) = True'拦截弹出窗⼝10End If11End Sub1213Private Sub Form_Click()14 br.object.Navigate "/"15End Sub1617Private Sub Form_Load()18On Error Resume Next19If Licenses.Count = 0Then Licenses.Add "Shell.Explorer.2", "Shell.Explorer.2"20Set br = Me.Controls.Add("Shell.Explorer.2", "br")21'br.Width = 150 * Screen.TwipsPerPixelX22'br.Height = 50 * Screen.TwipsPerPixelY23 br.Visible = True24End Sub。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB关于webbrowser相关操作大全1、防止新窗口里头打开网页代码1:Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Dim frm As Form1Set frm = New Form1frm.Visible = TrueSet ppDisp = frm.WebBrowser1.objectEnd Sub代码2:有这段代码,有许多网页会出错,经常提示脚本错误,可以用silent属性为True来屏蔽,不过也有些不足!!!Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueWebBrowser1.Navigate2 WebBrowser1.Document.activeElement.hrefEnd Sub代码3:Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)On Error Resume NextDim frmWB As Form1Set frmWB = New Form1frmWB.WebBrowser1.RegisterAsBrowser = TrueSet ppDisp = frmWB.WebBrowser1.objectfrmWB.Visible = TruefrmWB.Top = Form1.TopfrmWB.Left = Form1.LeftfrmWB.Width = Form1.WidthfrmWB.Height = Form1.HeightEnd Sub功能差不多,任选一个。

2、去掉滚动条Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) WebBrowser1.Document.Body.Scroll = "no"End Sub实际上上面的效果不咋地,如果懂得HTML知识,你可以在读取网页的时候,读取HTML 源码,查找替换,再写入只需在<body> </body> 之间插入代码:<body style= "overflow-x:hidden;overflow-y:hidden "> 即可。

其中x表示水平滚动条,将其改为y的话就可以隐藏垂直滚动条。

当然也有其他方法,比如修改网页的尺寸呀?有的时候部分元素的居中改为左对齐也能有效果将WebBrower放在PictureBox控件中,用PictureBox的边框挡住WebBrower的边框。

例如,将WebBrowser1放大点,将PictureBox变小点...PictureBox的appearance设置为0-flat,呵呵,OK~~3、禁止鼠标右键Private Function M_Dom_oncontextmenu() As BooleanWebbrowser1.Document.oncontextmenu = FalseEnd Function'引用Microsoft HTML OBject LibraryDim WithEvents M_Dom As MSHTML.HTMLDocumentPrivate Function M_Dom_oncontextmenu() As BooleanM_Dom_oncontextmenu = FalseEnd FunctionPrivate Sub Webbrowser1_DownloadComplete()Set M_Dom = Webbrowser1.DocumentEnd Sub4、如何获得网页的内容先给个例子:innerHTML:设置或获取位于对象起始和结束标签内的HTML测试一下:<div id="d" style="background-color:#ff9966">这是一个层</div><input type="button" value="获取innerHTML" onclick="getinnerHTML()"><input type="button" value="设置innerHTML" onclick="setinnerHTML()"><script language="javascript">function getinnerHTML(){alert(document.getElementById("d").innerHTML)}function setinnerHTML(){document.getElementById("d").innerHTML="<div id='d' style='background-color:#449966'>这是一个层,嘿嘿</div>"}</script>5、多框架框架页面访问'下面两句可以访问到多框架内容'.Document.ParentWindow.Frames.Length'.Document.ParentWindow.Frames(1).Document.all.tags("a")'等待多框架网页全部加载完毕,否则出错While .Busy Or .ReadyState <> 4 Or .Document.ParentWindow.Frames.Length = 0 DoEventsWend6、获得浏览器信息Private Sub Command1_Click()WebBrowser1.Navigate ""End SubPrivate Sub Command2_Click()Dim oWindowDim oNavSet oWindow = WebBrowser1.Document.parentWindowSet oNav = oWindow.navigatorDebug.Print erAgentSet oWindow = NothingSet oNav = NothingEnd Sub7、弹出Webbrowser消息窗口Dim oWindowSet oWindow = WebBrowser1.Document.parentWindowoWindow.confirm "abcd"VB调用webbrowser技巧集28、向Webbrowser中写入HTML内容的几种方法向Webbrowser中写入HTML内容的几种方法首先在Form_Load中加入WebBrowser1.Navigate "about:blank"确保Webbrowser1可用方法1:Dim s As StringDim stream As IStreams = ""s = s + ""s = s + ""s = s + "hello world"s = s + ""s = s + "WebBrowser1.Document.Write s方法2:Dim oSet o = WebBrowser1.Document.selection.createrangeDebug.Print oIf (Not o Is Nothing) Theno.pasteHTML "哈哈"Set o = NothingEnd If方法3:'插入文本框Dim oSet o = WebBrowser1.Document.selection.createrangeo.execCommand "InsertTextArea", False, "xxx"9、控制页面滚动WebBrowser1.Document.parentwindow.scrollby 0, 3010、判断页面是否可以前进后退Private Sub Command1_Click()WebBrowser1.GoForwardEnd SubPrivate Sub Command2_Click()WebBrowser1.GoBackEnd SubPrivate Sub Form_Load()WebBrowser1.Navigate ""End SubPrivate Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)If (Command = CSC_NA VIGA TEBACK) ThenCommand2.Enabled = EnableEnd IfIf (Command = CSC_NA VIGA TEFORW ARD) ThenCommand1.Enabled = EnableEnd IfEnd Sub11、如何获得网页中被选中部分的HTMLPrivate Sub Command1_Click()Dim objSelectionDim objTxtRangeSet objSelection = WebBrowser1.Document.selectionIf Not (objSelection Is Nothing) ThenSet objTxtRange = objSelection.createRangeIf Not (objTxtRange Is Nothing) ThenDebug.Print objTxtRange.htmlTextSet objTxtRange = NothingEnd IfSet objSelection = NothingEnd IfEnd Sub12、Navigate的参数调用请问:在WebBrwoser控件里提供的Navigate或者Navigate2方法中提供了传递数据的参数,调用方式为:WebBrowser1.Navigate2(URL,[Flags],[TargetFrameName],[PostData],[Headers])其中PostData参数就是一个提交参数字符串,例如"name=aaa&password=123",但问题是为什么这个方法并不是有效的,服务器端不能取得数据?如果这个方法是有效的话就不需要用一段html代码模拟这种调用了。

相关文档
最新文档