System Tester Posted September 12, 2016 Posted September 12, 2016 Gentlemen, Please help! I wish to open an IE session, browse to a page & inspect the properties. All this I can do! #include <IE.au3> Local $oIE = _IECreate("bbc.co.uk") _IELoadWait($oIE) Sleep(2000) Send("!f") Sleep(500) Send("r") Sleep(1000) What I can't do is use autoIt to extract the text to a file. What's failed so far... _IEPropertyGet - can't see which, if any option to use. WinGetText - returns the text of the buttons. ControlGetText - Returns blank. _IEDocRead - the text of the main HTLM page _IEAction - can't see which, if any option to use. Is this even Possible? Thanks Pete The AutoIt help file should be interrogated.The Editor should be SciTe.The forums should have been searched.
Moderators JLogan3o13 Posted September 12, 2016 Moderators Posted September 12, 2016 @System Tester What exactly are you trying to get (URL? Connection? etc.) There is almost surely an easier way to get what you're after, if we know precisely the information you're trying to cull from the Properties page. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum!
System Tester Posted September 12, 2016 Author Posted September 12, 2016 Hi, I need the connection string for my test results, e.g. "TLS 1.2, AES with 256 bit encryption (High); DH with 1024 bit exchange" Thanks! The AutoIt help file should be interrogated.The Editor should be SciTe.The forums should have been searched.
junkew Posted September 25, 2016 Posted September 25, 2016 (edited) https://www.autoitscript.com/wiki/FAQ faq 31 part on iuiautomation simplespy will give you pieces of code you can play with to get your end result ;~ *** Standard code maintainable *** #include "UIAWrappers.au3" AutoItSetOption("MustDeclareVars", 1) _UIA_setVar("oP1","Title:=Yahoo Search - Web Search - Internet Explorer;controltype:=UIA_WindowControlTypeId;class:=IEFrame") ;Yahoo Search - Web Search - Internet Explorer _UIA_setVar("oP2","Title:=;controltype:=UIA_PaneControlTypeId;class:=Frame Tab") ; _UIA_setVar("oP3","Title:=ITBarHost;controltype:=UIA_PaneControlTypeId;class:=InternetToolbarHost") ;ITBarHost _UIA_setVar("oP4","Title:=Menubalk;controltype:=UIA_PaneControlTypeId;class:=WorkerW") ;Menubalk _UIA_setVar("oP5","Title:=;controltype:=UIA_PaneControlTypeId;class:=ReBarWindow32") ; _UIA_setVar("oP6","Title:=Toepassing;controltype:=UIA_MenuBarControlTypeId;class:=ToolbarWindow32") ;Toepassing ;~ $oUIElement=_UIA_getObjectByFindAll("Bestand.mainwindow", "title:=Bestand;ControlType:=UIA_MenuItemControlTypeId", $treescope_subtree) _UIA_setVar("oUIElement","Title:=Bestand;controltype:=UIA_MenuItemControlTypeId;class:=") ;ControlType:=UIA_MenuItemControlTypeId;classname:=") ;~ Actions split away from logical/technical definition above can come from configfiles ;~_UIA_Action("oP1","highlight") _UIA_Action("oP1","setfocus") ;~_UIA_Action("oP2","highlight") _UIA_Action("oP2","setfocus") ;~_UIA_Action("oP3","highlight") _UIA_Action("oP3","setfocus") ;~_UIA_Action("oP4","highlight") _UIA_Action("oP4","setfocus") ;~_UIA_Action("oP5","highlight") _UIA_Action("oP5","setfocus") ;~_UIA_Action("oP6","highlight") _UIA_Action("oP6","setfocus") _UIA_action("oUIElement","highlight") ;~_UIA_action("oUIElement","click") Some elements you can skip but something like below works on my dutch internetexplorer 11. You have to change some titles most likely Bestand --> File and Eigenschappen ---> Options unclear for me what to change Toepassing to most likely Application expandcollapse popup;~ *** Standard code maintainable *** #include "UIAWrappers.au3" AutoItSetOption("MustDeclareVars", 1) _UIA_setVar("oP1","controltype:=UIA_WindowControlTypeId;class:=IEFrame") ; Internet Explorer _UIA_setVar("oP2","Title:=;controltype:=UIA_PaneControlTypeId;class:=Frame Tab") ; _UIA_setVar("oP3","Title:=ITBarHost;controltype:=UIA_PaneControlTypeId;class:=InternetToolbarHost") ;ITBarHost _UIA_setVar("oP4","Title:=Menubalk;controltype:=UIA_PaneControlTypeId;class:=WorkerW") ;Menubalk _UIA_setVar("oP5","Title:=;controltype:=UIA_PaneControlTypeId;class:=ReBarWindow32") ; _UIA_setVar("oP6","Title:=Toepassing;controltype:=UIA_MenuBarControlTypeId;class:=ToolbarWindow32") ;Toepassing ;~ $oUIElement=_UIA_getObjectByFindAll("Bestand.mainwindow", "title:=Bestand;ControlType:=UIA_MenuItemControlTypeId", $treescope_subtree) _UIA_setVar("oUIElement","Title:=Bestand;controltype:=UIA_MenuItemControlTypeId;class:=") ;ControlType:=UIA_MenuItemControlTypeId;classname:=") _UIA_setVar("oUIElement2","Title:=Eigenschappen;controltype:=UIA_MenuItemControlTypeId;class:=") ;ControlType:=UIA_MenuItemControlTypeId;classname:=") ;~ Actions split away from logical/technical definition above can come from configfiles _UIA_Action("oP1","highlight") _UIA_Action("oP1","setfocus") _UIA_Action("oP2","highlight") _UIA_Action("oP2","setfocus") _UIA_Action("oP3","highlight") _UIA_Action("oP3","setfocus") ;~ _UIA_Action("oP4","highlight") ;~ _UIA_Action("oP4","setfocus") ;~ _UIA_Action("oP5","highlight") ;~ _UIA_Action("oP5","setfocus") _UIA_Action("oP6","highlight") _UIA_Action("oP6","setfocus") _UIA_action("oUIElement","highlight") _UIA_action("oUIElement","click") _UIA_action("oUIElement2","click") ;~ *** Standard code maintainable *** ;~ #include "UIAWrappers.au3" ;~ AutoItSetOption("MustDeclareVars", 1) _UIA_setVar("oP1","Title:=.*Internet Explorer;controltype:=UIA_PaneControlTypeId;class:=Alternate Modal Top Most") ;C:\Users\Elwin\Documents\UIA\LOG\20160926-001619460.XML - Internet Explorer ;~ _UIA_setVar("options.mainwindow","title:=((Options)|(Eigenschappen));classname:=#32770") _UIA_setVar("options","title:=((Options)|(Eigenschappen));classname:=#32770") ;~ Actions split away from logical/technical definition above can come from configfiles _UIA_Action("oP1","highlight") _UIA_Action("options","highlight") _UIA_Action("options","setfocus") $UIA_oUIELEMENT=_UIA_Action("options","object") Local $oAutomationElementArray Local $pElements, $iLength, $i Local $dumpStr Local $tmpStr $UIA_oUIELEMENT.FindAll($treescope_subtree, $UIA_oTRUECondition, $pElements) $oAutomationElementArray = ObjCreateInterface($pElements, $sIID_IUIAutomationElementArray, $dtagIUIAutomationElementArray) ;~ If there are no childs found then there is nothing to search If _UIA_IsElement($oAutomationElementArray) Then ;~ All elements to inspect are in this array $oAutomationElementArray.Length($iLength) consolewrite($iLength & " objects found") For $i = 0 To $iLength - 1; it's zero based $oAutomationElementArray.GetElement($i, $UIA_pUIElement) $UIA_oUIElement = ObjCreateInterface($UIA_pUIElement, $sIID_IUIAutomationElement, $dtagIUIAutomationElement) $tmpStr = "Title is: <" & _UIA_getPropertyValue($UIA_oUIElement, $UIA_NamePropertyId) & ">" & @TAB _ & "Class := <" & _UIA_getPropertyValue($UIA_oUIElement, $UIA_ClassNamePropertyId) & ">" & @TAB _ & "controltype:= " _ & "<" & _UIA_getControlName(_UIA_getPropertyValue($UIA_oUIElement, $UIA_ControlTypePropertyId)) & ">" & @TAB _ & ",<" & _UIA_getPropertyValue($UIA_oUIElement, $UIA_ControlTypePropertyId) & ">" & @TAB _ & ", (" & Hex(_UIA_getPropertyValue($UIA_oUIElement, $UIA_ControlTypePropertyId)) & ")" & @TAB _ & ", acceleratorkey:= <" & _UIA_getPropertyValue($UIA_oUIElement, $UIA_AcceleratorKeyPropertyId) & ">" & @TAB _ & ", automationid:= <" & _UIA_getPropertyValue($UIA_oUIElement, $UIA_AutomationIdPropertyId) & ">" & @TAB ;~ $tmpStr = _UIA_EncodeHTMLString($tmpStr) $dumpStr = $dumpStr & "<elementinfo>" & $tmpStr & "</elementinfo>" consolewrite($dumpStr) Next Else consolewrite( "<fatal>***** FATAL:???? _UIA_DumpThemAll no childarray found ***** </fatal>") EndIf With the spy you then can further determine which elements you want or by looking in uiaWrappers as examples you can see if you want to search directly with the direct interfaces of iuiautomation. Edited September 25, 2016 by junkew FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets
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