| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 664 人关注过本帖
标题:vb操作网页中的框架(有两个框架怎么办)
只看楼主 加入收藏
xzxxgwd
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-12-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
vb操作网页中的框架(有两个框架怎么办)
'WB为要处理的webbrowser
Private Function getFrames(ByVal WB As WebBrowser) As Object
    Dim pContainer As
    Dim pEnumerator As olelib.IEnumUnknown
    Dim pUnk As olelib.IUnknown
    Dim pBrowser As SHDocVwCtl.WebBrowser_V1
   
    Set pContainer = WB.Object.Document
     
    '有时候上面这段对象赋值出错,用下面这句就没有问题了
    'Set pContainer = WB.Document(备用)
    'Set pContainer = WB.Object.Document(主要)
     If pContainer.EnumObjects(OLECONTF_EMBEDDINGS, pEnumerator) = 0 Then
       Set pContainer = Nothing
       Do While pEnumerator.Next(1, pUnk) = 0
          On Error Resume Next  '这句非常重要,不然有的网页会提示出错
          Set pBrowser = pUnk
          If Err.Number = 0 Then
             Print "Frame: " & pBrowser.LocationURL
            
             If pBrowser.LocationURL = pBrowser.LocationURL Then
             '"G:\框架函数调用\框架1.htm" Then '可以在这里加条件判断得到指定的frame中的src,基本可以根据url或者innerHTML中的某个关键字符
                Set getFrames = pBrowser
                Exit Function
            End If
          End If
   
       Loop
       Set pEnumerator = Nothing
    End If


   
End Function




Private Sub Command1_Click()
getFrames(WebBrowser1).Document.getElementById("but").Click

End Sub
当按钮单机时以上代码只能操作第一个框架中的id为but的按钮,如果有两个框架就会出错,怎么才能分辨框架呢。
搜索更多相关主题的帖子: WebBrowser Object 网页 
2014-12-11 17:14
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4940
专家分:30047
注 册:2008-10-15
收藏
得分:20 
我一般的处理方法是:
在 载入完成事件中,检查载入完成地址是哪个。
如果是 内框架的 页面的地址,那对 这个 OBJ 进行操作,就是直接操作 内框架 里页面。
根本不管它是在哪个框架。

反正是指定的 页面就行了。

授人于鱼,不如授人于渔
早已停用QQ了
2014-12-11 23:27
快速回复:vb操作网页中的框架(有两个框架怎么办)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015456 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved