Access form elements on different Frames in VBScript

别等时光非礼了梦想. 提交于 2020-01-14 05:22:44

问题


I have these three frames on a website.

<frame scrolling="AUTO" src="../../vix/thalada/Rangasamy?MokkaKumuta1234567" name="AAN">

<frame scrolling="AUTO" src="../../vix/thalada/Rangasamy?MokkaK****13245678" name="BAN">

<frame scrolling="AUTO" src="../../vix/thalada/Rangasamy?MokkaK****85234175" name="CAN">

This is how it goes:

Set oIE = CreateObject("InternetExplorer.application")

        oIE.Visible = True
        oIE.navigate ("https://ec.rcuwebportal.au.eds.com/cics/r1cb/rm0p00ba?cb246")


     oIE.Document.getElementsByTagName("a").item(0).Click       // This works and it clicks on a image button in the frame named AAN. Fine

Next when I tried to access another text box that is present in the frame named BAN , I got the object not found error. Obviousy, because I'm still the frame AAN , but the element belongs to frame BAN.

Below is the textbox that is present in the frame named BAN.

<input type="text" maxlength="30" size="30" value=" " name="BAFREENAME"></input>

How do I access the form control on this frame? Any ideas? Appreciate your help.


回答1:


You can access all elements off of the frames by first, iterating through the frames, then referencing their contentWindow.document.

Dim oIE, aHTML, oIFrames, frame, i, obj, ifHTML: i = 1
Set oIE = CreateObject("InternetExplorer.application")
oIE.Visible = True

'This page must be remote...
oIE.navigate ("http://your/website...")
'local websites (file://) will return access denied on IFRAME/Frame Content viewing. 



Do
Loop While oIE.ReadyState < 4 And oIE.Busy

Set aHTML = oIE.document

Set iframes = aHTML.getElementsByTagName("frame")

For Each frame In iframes
    Set inputs = frame.contentwindow.document.getElementsByTagName("input")
    For Each obj In inputs
        If obj.className = "BAFREENAME" Then
            'MsgBox "found BAFREENAME in frame:" & i
        End If
    Next
i = i + 1
Next
'MsgBox "done"


来源:https://stackoverflow.com/questions/23343853/access-form-elements-on-different-frames-in-vbscript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!