VB关于webbrowser相关操作大全
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相关操作大全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控件最详细使用说明方法说明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操作网页代码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控件使用方法
方法
说明
GoBack 相当于 IE的“后退”按钮,使你在当前历史列表中后退一项
GoForward 相当于 IE的“前进”按钮,使你在当前历史列表中前进一项 GoHome 相当于 IE的“主页”按钮,连接的“搜索”按钮,连接用户默认的搜索页面 Navigate 连接到指定的 URL
返回一个 Boolean 值,说明 WebBrowser 当前是否正在加 载URL,如果返回 true 就可以使用stop 方法来撤销正在执行的访问操作
WebBrowser 的事件
Priv ate Ev ents
Description
BeforeNavigate2
Private Sub Command2_Click() WebBrowser1.Document.parentwindow.scrollby 0, 30 End Sub
Private Sub Form _Load() WebBrowser1.Navigate "http://www.apple" End Sub
VB 调用 webbrowser 技巧集 4
1、如何使网页不出现滚动条:
Private Sub mnuSc roll1_Click() @#注意:必须在网页完全显示之后才可以运行 WebBrowser1.Document.body.Scroll = "no" @#不显示滚动条的办法 End Sub Private Sub mnuSc roll2_Click() @#注意:必须在网页完全显示之后才可以运行 WebBrowser1.Document.body.Scroll = "Auto" @#显示滚动条的办法 End Sub
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操作网页功能模块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的弹出窗口:因为我做浏览器从来不用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控件在程序设计中,如何设计出美观、实用,有个性的界面是每个程序设计者在界面设计中追求的目标。
随着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⽤法总结简单⽤了⼀下记录⼀下: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个属性和事件方法说明===========================================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操作网页(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自制网页浏览器
自制网页浏览器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 的事件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是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技巧集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(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控件,并拦截弹出窗⼝(不⽤引⽤任何组件)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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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代码模拟这种调用了。