urklnme Posted October 29, 2008 Share Posted October 29, 2008 I am on a page with six frames. I have selected a frame named "contentFrame". On this frame there is a row of buttons. I want to click the 5th button that reads "Export Grid". In the source of the content frame appears: body onload table class = "buttons" tr td . . . <a class="buttons" onclick="exportGrid("main?command=ExportGrid&dbid=3369174 I have tried getting collections of all sorts, getting object by name, even tried to msgbox the names of all object in the frame. I tried to open frame in new window. The current state of the code: $oFrame = _IEGetObjById($oIE, "contentFrame") ; works MsgBox(0, "Frame Info", $oFrame.name) ; works $sSrc = $oFrame.src $oIE2 = _IEAttach($sSrc) $colTags = _IETagNameAllGetCollection ($oIE2) For $oTag In $colTags ; ERROR no object here MsgBox(0, "button Info", _IEPropertyGet($oTag, "innertext")) If _IEPropertyGet($oTag, "innertext") = "exportGrid" Then _IEAction($oTag, "click") EndIf Next no matter what I have tried I have not been able to get any objects that belong to the frame. I am a rookie to HTML and AUTOIT.....This is definitely a IATK error ARGH!!!!! Link to comment Share on other sites More sharing options...
PsaltyDS Posted October 29, 2008 Share Posted October 29, 2008 I am on a page with six frames. I have selected a frame named "contentFrame". On this frame there is a row of buttons. I want to click the 5th button that reads "Export Grid". In the source of the content frame appears:body onloadtable class = "buttons"trtd...<a class="buttons" onclick="exportGrid("main?command=ExportGrid&dbid=3369174I have tried getting collections of all sorts, getting object by name, even tried to msgbox the names of all object in the frame. I tried to open frame in new window. The current state of the code:$oFrame = _IEGetObjById($oIE, "contentFrame") ; works MsgBox(0, "Frame Info", $oFrame.name) ; works$sSrc = $oFrame.src$oIE2 = _IEAttach($sSrc)$colTags = _IETagNameAllGetCollection ($oIE2)For $oTag In $colTags ; ERROR no object here MsgBox(0, "button Info", _IEPropertyGet($oTag, "innertext")) If _IEPropertyGet($oTag, "innertext") = "exportGrid" Then _IEAction($oTag, "click") EndIfNextno matter what I have tried I have not been able to get any objects that belong to the frame.I am a rookie to HTML and AUTOIT.....This is definitely a IATK error ARGH!!!!!Why are you using $oFrame.src with _IEAttach()? Are you trying to work around some cross-site scripting restrictions? Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
urklnme Posted October 30, 2008 Author Share Posted October 30, 2008 I indicated in the op that I am new to this. I have spent a couple of hours on this so far. I have tried many combinations of many different commands. what you see was just the current state of the code. actually I have already taken that out and tried other commands. I will probably try tabbing to the button next. If you know an effective way to find the collection of objects in a frame and click on a button in a frame I would appreciate the knowledge. Link to comment Share on other sites More sharing options...
PsaltyDS Posted October 30, 2008 Share Posted October 30, 2008 (edited) I indicated in the op that I am new to this. I have spent a couple of hours on this so far. I have tried many combinations of many different commands. what you see was just the current state of the code. actually I have already taken that out and tried other commands. I will probably try tabbing to the button next. If you know an effective way to find the collection of objects in a frame and click on a button in a frame I would appreciate the knowledge. I think you need to spend some time trying out the example scripts for the various _IE* functions. It is a learning curve that is well worth climbing. This may list the tags you are interested in by index: $oFrame = _IEGetObjById($oIE, "contentFrame") $colTags = _IETagNameGetCollection($oFrame, "a") $iTagCnt = @extended ConsoleWrite("There are " & $iTagCnt & " 'a' tags in the frame." & @LF) $i = 0 For $oTag in $colTags If $oTag.class = "buttons" Then ConsoleWrite("'a' tag index " & $i & " matches class = buttons" & @LF) EndIf $i += 1 Next The problem is that you don't show the full 'a' tag. If there is no HREF section to the tag, then it should have a 'name' property set that would allow addressing it directly. Practice with the examples in the help file and it will become clearer how to do that. Edit: Reference: MSDN: "a Object": Remarks The a element requires the href or the name property to be specified. Edited October 30, 2008 by PsaltyDS Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
urklnme Posted October 30, 2008 Author Share Posted October 30, 2008 Yes I agree.... Autoit is a great tool and well worth further reading. I, like many others, rushed into a script because Autoit is just that cool!! I have many other tasks in my daily/weekly work that I would like to automate so I will definitely be learning more. Thanks indeed for the replies. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now