sdfg4545 Posted October 13, 2009 Share Posted October 13, 2009 I have to tab (Send("{TAB}")) through an app until I land on specific controls. The controls are HTML buttons and links in an IE control (not an IE browser). Is there a function that can "_GetCurrentObjectText()"? I want to do something like the following: For $i = 1 to 100 Step 1 ;loop 100 times Send("{TAB}") ; move to next object if (_GetCurrentObjectText() = "search text") then ; is this what I am looking for? Send("{ENTER}") ; if yes, click the button EndIF Next Link to comment Share on other sites More sharing options...
water Posted October 13, 2009 Share Posted October 13, 2009 (edited) Haven't done it myself but you could use _IEAttach to "connect" to the Browser Control (use "embedded"). Then you can get a collection of all links by _IELinkGetCollection and then search the one you need. If you know the name or id of the object (have a look at the HTML source code) then you can access the object using _IEGetObjbyName. That's it in short. Edited October 13, 2009 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
sdfg4545 Posted October 13, 2009 Author Share Posted October 13, 2009 I think IEAttach and embedded is what I need to do. I dont understand what parameters to pass to IEAttach? Documentation suggests this: $oIE = _IEAttach ("[REGEXPTITLE:ICQ; INSTANCE:2]", "embedded", 3) My app runs in a window called "iMedic Explorer". Window Info: control within the app, the control is a browser >>>> Control <<<< Class: Internet Explorer_Server Instance: 1 ClassnameNN: Internet Explorer_Server1 Advanced (Class): [CLASS:Internet Explorer_Server; INSTANCE:1] ID: Text: Link to comment Share on other sites More sharing options...
water Posted October 13, 2009 Share Posted October 13, 2009 (edited) My app runs in a window called "iMedic Explorer".So I would try (under the prerequisite that there is only one window with this title): $oIE = _IEAttach("iMedic Explorer", "embedded") ConsoleWrite("Error : " & @error & " - Extended: " & @extended & @CRLF) Please run this code using ScITe and post the console output. Edited October 13, 2009 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
sdfg4545 Posted October 13, 2009 Author Share Posted October 13, 2009 I just figured it out, this is what I did: (I now have access to all the links) WinActivate ("iMedic Explore") $hWnd = WinGetHandle("[CLASS:WindowsForms10.window.8.app.0.202c666]") ; got this from window info $oIE = _IEAttach ($hWnd, "embedded") $oLinks = _IELinkGetCollection ($oIE) For $oLink In $oLinks MsgBox(0, "Link Info", $oLink.href) Next Thanks, Water: i see you use 'ConsoleWrite', i'll try that instead of msgbox 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