Jump to content
Sign in to follow this  

Sending specific "Visible Text" from control into handler

Recommended Posts

Hello again!

I'm currently working on simple tool that will automate some of our internal application tests - store systems, to be precise ;)
What I'm trying to do, is send value from "Oczekiwana kwota" (that is 1 452,26 PLN in this example) into handler - to use it later on (see picture n.1).
This value could vary depending on current sales, so it must be copied dynamically.
Problem is: AutoIt recognizes only whole window and control (as you can see on the picture).

Although! The desired value can be found under "Visible Text" (see picture n.2).
I've tried to retrieve this data (and edit later on) via ControlGetText command, but it retrieves only first line of text :(

Is there some way I can retrieve specific line of "Visible Text" into handler?
Number of lines is always the same. Only values change.



Share this post

Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Yodavish
      I have this AutoIt script that works on Windows 7. However, when I test it on Windows 10, the objEvent will not execute the function it's supposed to call. So I have a webpage the script will check if it is active, then it will search if a popup button exist (elementId), if so, assign it to the event handler so that when that button is clicked, then handler function will move the focus back to the main GUI again.
      If WinActive("Website Title - Internet Explorer") Then    $ie = _IEAttach("Website Title")    $objElement= _IEGetObjById ($ie, "elementId")    local $oEvent = ObjEvent($objElement, "_MY_EVENT_HANDLER_") EndIf Func _MY_EVENT_HANDLER_onclick($oEvtObj)     msgbox(0,"Alert Window", "Button Clicked!") setMainWindow() ; sets focus back to main GUI EndFunc  
      I've verified, on Windows 10, that it does see the object element. But it will not trigger the event. Could it be related to some timing issues due to Windows 10 Internet Explorer over Windows 7 Internet Explorer? 
      Windows 7 IE version 11.0.9600.19507
      Windows 10 IE version 11.418.18362.0
      AutoIt v 3.3
    • By VinMe
      Dear all, 
      I am unable to get the right result after applying the filter to the excel. please let me know on the same.
      issue: After applying the filter the output $lastRow11 not giving the right output of complete visible rows. (its breaking at row skips)
      $oWorkbook = _Excel_BookAttach($sWorkbook)
      Local $sMSN = InputBox("MSN NO", "Enter MSN in XX FORMAT", "")
      ;~ Local $LastRow1 = ($oWorkbook.ACTIVESHEET.Range("A1").SpecialCells($xlCellTypeLastCell).Row)
      $LastRow1 = $oWorkbook.ActiveSheet.UsedRange.Rows.Count
      MsgBox(0, "lastrow1", $LastRow1)
      _Excel_FilterSet($oWorkbook, $oWorkbook.activesheet, "AF1", 32, "*" & $sMSN & "*")
      Local $oLocDS = $oWorkbook.ActiveSheet.Range("S1:S" & $LastRow1).SpecialCells($xlCellTypeVisible)
      Local $LastRow11 = $oLocDS.rows.count    ;error output
      MsgBox(0, "lastrow11", $LastRow11)
      Local $aLocDS1 = _Excel_RangeRead($oWorkbook, Default, $oLocDS)
      Local $oLocNr = $oWorkbook.ActiveSheet.Range("A1:A" & $LastRow1).SpecialCells($xlCellTypeVisible)
      Local $aLocNr1 = _Excel_RangeRead($oWorkbook, Default, $oLocNr)
      _ArrayTrim($aLocDS1, 6, 1)
      _ArrayTrim($aLocNr1, 6, 1)
      _ArrayTrim($aLocNr1, 6, 0)
    • By KemyKo
      I want to create a program that resizes and changes style/exstyles of other windows. 
      The problem is that i don`t know why my script doesn`t work.
      Here is an example:
      #RequireAdmin #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Global $setStyle, $getStyle, $outputString='', $getHandle, $setState $getHandle = WinGetHandle("[CLASS:Notepad]") $outputString &= $getHandle & @LF $setState = GUISetState(@SW_SHOWNORMAL, $getHandle) $outputString &= $setState & @LF $getStyle = GUIGetStyle($getHandle) If IsArray($getStyle) = 1 Then $outputString &= $getStyle[0]& ' ' &$getStyle[1]& @LF Else $outputString &= "NOTHING" & @LF EndIf $setStyle = GUISetStyle($WS_POPUPWINDOW, -1, $getHandle) $outputString &= $setStyle & @LF MsgBox(0,"OUTPUT", $outputString) It doesn`t work... At least not for me 
      I noticed that $getHandle is "0x0021023A" and AutoIt Window Info shows : "0x000000000021023A"
      I don`t know if that`s a problem . If it is, idk how to fix it 
    • By vvb
      Hi All,

      I have an issue where I am trying to automate an installer (installer is setup factory 7). One of the screens does not have any custom visible text except for the three buttons (back, next and cancel).
      I am using WinWait to wait for each screen to appear and using the visible text as an distinguishing feature. Problem is when I store the three button combination as a string, it does not match the visible text. WinGetText returns what looks like the following:

      &Next > &Cancel < &Back
      However, it does not match. And when I do a MsgBox(0, "Test", WinGetText($dlg)) and then use au3info on the messagebox dialog, the visible text is actually:

      &Next >[]&Cancel[]< &Back[]
      where the [] character is actually a rectangle character.

      Question is, is there a way to store the visible text as a constant for later use?


      Fixed the fist code block. Also, I have done some testing and the [] character is actually chr(10) so I've modified the string constant to be:

      Const $visTextStr = "&Next >" & chr(10) & "&Cancel" & chr(10) & "< &Back" & chr(10)
      I've even done the following test"

      If StringCompare(WinGetText($dlg), $visTextStr) = 0 Then MsgBox(0, "Test", "Same") EndIf
      And the message box pops up saying they are the same, however, winwait still times out waiting for the screen.
  • Create New...