vb-跨域访问网页最简单方法,获得特定的frame进行处理
2014-11-24 19:31
751 查看
vb-跨域访问网页最简单方法,获得特定的frame进行处理
以下三种方法所用时间为130,82,28 微秒(一秒=100万微秒,=1000毫秒,1毫秒=1000微秒)
以下三种方法所用时间为130,82,28 微秒(一秒=100万微秒,=1000毫秒,1毫秒=1000微秒)
Private Sub Command1_Click() Dim Doc2 As HTMLDocument Dim Web2 As WebBrowser_V1 Set Web2 = GetFrameIframeLikeUrl(WebBrowser1.Document, "*baidu.com*") Set Web2 = GetFrameLikeUrl(WebBrowser1.Document, "*baidu.com*") Set Web2 = FindFrameByUrl(WebBrowser1.Document, "*baidu.com*") If Not Web2 Is Nothing Then Set Doc2 = Web2.Document 'MsgBox "框架网页中的文字是:" & Doc2.body.innerText End If End Sub '以下三种方法所用时间为130,82,28 微秒(一秒=100万微秒,=1000毫秒,1毫秒=1000微秒) Function GetFrameIframeLikeUrl(Vdoc As HTMLDocument, LikeUrl As String) As WebBrowser_V1 Dim Vtag, Tname As String, FrameWeb As WebBrowser_V1 For Each Vtag In Vdoc.All Tname = Vtag.tagName If Tname = "IFRAME" Or Tname = "FRAME" Then Set FrameWeb = Vtag If FrameWeb.LocationURL Like LikeUrl Then Set GetFrameIframeLikeUrl = FrameWeb Exit Function End If End If Next End Function Function GetFrameLikeUrl(Vdoc As HTMLDocument, LikeUrl As String) As WebBrowser_V1 Dim FrameWeb As WebBrowser_V1, MyFrames As Object, I As Long Set MyFrames = Vdoc.getElementsByTagName("FRAME") For I = 0 To MyFrames.length - 1 Set FrameWeb = MyFrames(I) If FrameWeb.LocationURL Like LikeUrl Then Set GetFrameLikeUrl = FrameWeb Exit Function End If Next End Function Function FindFrameByUrl(Doc As HTMLDocument, LikeUrl As String) As WebBrowser_V1 '方法2:按网址得到跨域的web ''DOC为要处理的webbrowser.DOCUMENT '这个方法要引用OLELIB.TLB http://www.mvps.org/emorcillo/download/vb6/tl_ole.zip On Error Resume Next Dim pContainer As olelib.IOleContainer Dim pEnumerator As olelib.IEnumUnknown Dim pUnk As olelib.IUnknown Dim pBrowser As WebBrowser_V1 Set pContainer = Doc If pContainer.EnumObjects(OLECONTF_EMBEDDINGS, pEnumerator) = 0 Then Do While pEnumerator.Next(1, pUnk) = 0 Set pBrowser = pUnk If pBrowser.LocationURL Like LikeUrl Then '可以在这里加条件判断得到指定的frame,基本可以根据url或者innerHTML中的某个关键字符 Set FindFrameByUrl = pBrowser Exit Do End If Loop Set pEnumerator = Nothing End If DoEnd: Set pContainer = Nothing End Function '130,82,28
相关文章推荐
- vb-跨域访问,获得特定的frame进行处理
- vb-跨域访问,获得特定的frame进行处理
- 使用gulp相关插件进行api的跨域访问并监控文件的变化的简单处理
- asp.net- ajax简单入门使用方法,通过一般处理程序ashx进行处理
- Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法
- 对获取简单网页数据方法进行封装
- 在VB中用Paintpicture方法进行图形处理
- 一种简单的处理大流量访问的方法
- IE浏览器被固定启动时访问某网页的处理方法
- 一种对网页进行适配处理的方法及网页适配装置
- 一个ip服务器下安装多个网站多个不用域名进行访问处理法方法和配置
- 网页进行适配处理的一般方法
- 使用numpy和PIL进行简单的图像处理方法
- Frame 内置网页的简单方法
- Flex 使用代理上网时,跨域无法访问的处理方法
- 使用Aspect来对访问方法进行预处理和后处理
- 一种简单的处理大流量访问的方法
- 对网页进行简繁字体转换的简单方法
- 关于利用artDialog弹出网页后访问frameset里面frame页面元素的方法
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”