vb操作网页中的框架(有两个框架怎么办)
'WB为要处理的webbrowserPrivate 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的按钮,如果有两个框架就会出错,怎么才能分辨框架呢。