Jump to content
Sign in to follow this  
rm4453

_ArrayFindAll Not returning Only valid result

Recommended Posts

I have a table I am parsing, to find specific vehicle information. I am unable to get _ArrayFindAll to return the only valid result with my test data.

Below is a sample of the table's HTML:

<td class="textCenter">2010</td>
           <td>TOYOTA</td>
           <td>TACOMA 4X4 DB</td>
           <td></td>
           <td>BLACK</td>
           <td class="textCenter">C</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">80,975</td>
           
           
           <td class="textRight" nowrap="nowrap">$16,800</td>
       </tr>
   
       <tr><!-- 308 -->
           <td class="textCenter">2010</td>
           <td>TOYOTA</td>
           <td>TACOMA 4X4 RG</td>
           <td></td>
           <td>BLACK</td>
           <td class="textCenter">R</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">5</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">95,224</td>
           
           
           <td class="textRight" nowrap="nowrap">$9,500</td>
       </tr>
   
       <tr><!-- 309 -->
           <td class="textCenter">2011</td>
           <td>BUICK</td>
           <td>REGAL</td>
           <td>CXL RL4</td>
           <td>BLACK</td>
           <td class="textCenter">4</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">102,694</td>
           
           
           <td class="textRight" nowrap="nowrap">$5,000</td>
       </tr>
   
       <tr><!-- 310 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>AVALANCH 4X4 CR</td>
           <td>LS</td>
           <td>GRAY</td>
           <td class="textCenter">C</td>
           <td class="textCenter">8</td>
           <td>E</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">64,759</td>
           
           
           <td class="textRight" nowrap="nowrap">$16,300</td>
       </tr>
   
       <tr><!-- 311 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>EQUINOX AWD 4C</td>
           <td>LT W/2LT</td>
           <td>BLACK</td>
           <td class="textCenter">S</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">AWD</td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">91,896</td>
           
           
           <td class="textRight" nowrap="nowrap">$4,400</td>
       </tr>
   
       <tr><!-- 312 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>TAHOE 4X4 V8</td>
           <td>LTZ</td>
           <td>WHITE</td>
           <td class="textCenter">S</td>
           <td class="textCenter">8</td>
           <td>C</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>N</td>
           <td class="textCenter">MR</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">126,982</td>
           
           
           <td class="textRight" nowrap="nowrap">$17,800</td>
       </tr>
   
       <tr><!-- 313 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>1500 SLV 4X4 EX</td>
           <td>LT</td>
           <td>GRAY</td>
           <td class="textCenter">X</td>
           <td class="textCenter">8</td>
           <td>GAS</td>
           <td class="textCenter">O</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">60,303</td>
           
           
           <td class="textRight" nowrap="nowrap">$18,100</td>
       </tr>
   
       <tr><!-- 314 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>1500 SLV 4X4 EX</td>
           <td>LT</td>
           <td>SILVER</td>
           <td class="textCenter">X</td>
           <td class="textCenter">8</td>
           <td>E</td>
           <td class="textCenter">O</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">89,403</td>
           
           
           <td class="textRight" nowrap="nowrap">$15,900</td>
       </tr>
   
       <tr><!-- 315 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>1500 SLV 4X4 EX</td>
           <td>LTZ</td>
           <td>BLUE</td>
           <td class="textCenter">X</td>
           <td class="textCenter">8</td>
           <td>E</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">53,087</td>
           
           
           <td class="textRight" nowrap="nowrap">$17,700</td>
       </tr>
   
       <tr><!-- 316 -->
           <td class="textCenter">2011</td>
           <td>CHEVROLET</td>
           <td>3500 CUTAWAY</td>
           <td>WORK VAN</td>
           <td>WHITE</td>
           <td class="textCenter">S</td>
           <td class="textCenter"></td>
           <td></td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X2</td>
           <td class="textCenter"></td>
           <td>N</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">202,477</td>
           
           
           <td class="textRight" nowrap="nowrap">$2,700</td>
       </tr>
   
       <tr><!-- 317 -->
           <td class="textCenter">2011</td>
           <td>CHRYSLER</td>
           <td>TOWN &amp; COUNTRY</td>
           <td>TOURING</td>
           <td>BLACK</td>
           <td class="textCenter">4</td>
           <td class="textCenter">6</td>
           <td>E</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X2</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter"></td>
           <td class="textRight" nowrap="nowrap">198,541</td>
           
           
           <td class="textRight" nowrap="nowrap">$1,900</td>
       </tr>
   
       <tr><!-- 318 -->
           <td class="textCenter">2011</td>
           <td>DODGE</td>
           <td>DURANGO AWD V6</td>
           <td>CREW</td>
           <td>BLUE</td>
           <td class="textCenter">S</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">AWD</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">176,036</td>
           
           
           <td class="textRight" nowrap="nowrap">$2,800</td>
       </tr>
   
       <tr><!-- 319 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>FOCUS</td>
           <td>SE</td>
           <td>SILVER</td>
           <td class="textCenter">4</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">101,929</td>
           
           
           <td class="textRight" nowrap="nowrap">$3,100</td>
       </tr>
   
       <tr><!-- 320 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>FUSION FWD 4C</td>
           <td>SEL</td>
           <td>WHITE</td>
           <td class="textCenter">4</td>
           <td class="textCenter">4</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">SR</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">78,290</td>
           
           
           <td class="textRight" nowrap="nowrap">$5,500</td>
       </tr>
   
       <tr><!-- 321 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>F150 4X4 CR</td>
           <td>XLT</td>
           <td>BLACK</td>
           <td class="textCenter">C</td>
           <td class="textCenter">8</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X4</td>
           <td class="textCenter">Y</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">70,909</td>
           
           
           <td class="textRight" nowrap="nowrap">$16,000</td>
       </tr>
   
       <tr><!-- 322 -->
           <td class="textCenter">2011</td>
           <td>FORD</td>
           <td>MUSTANG V6 CPE</td>
           <td>V6 PREMIUM</td>
           <td>BLACK</td>
           <td class="textCenter">2</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter">4X2</td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">L</td>
           <td class="textRight" nowrap="nowrap">92,531</td>
           
           
           <td class="textRight" nowrap="nowrap">$2,700</td>
       </tr>
   
       <tr><!-- 323 -->
           <td class="textCenter">2011</td>
           <td>GMC</td>
           <td>ACADIA FWD</td>
           <td>SLE</td>
           <td>RED</td>
           <td class="textCenter">4</td>
           <td class="textCenter">6</td>
           <td>GAS</td>
           <td class="textCenter">A</td>
           <td class="textCenter"></td>
           <td class="textCenter">A</td>
           <td>CD</td>
           <td class="textCenter">HT</td>
           <td class="textCenter">C</td>
           <td class="textRight" nowrap="nowrap">79,199</td>
           
           
           <td class="textRight" nowrap="nowrap">$10,700</td>

A picture of the table test data is attached here:

TableSample.PNG

Here is the _query function, and all other relevant code that I can share.

 

Func _query($aSel, $aUrls)
    $oIE = _login()

    If $oIE = "Return" Then
        Return
    EndIf

    $j = 0
    While $j < UBound($aSel) - 1

        $i = 1

        $aucID ;Unable To Share What This Is Other Than Var Name.

        _IENavigate($oIE, "Something" & $aucID[0] & "Something")

        _IELoadWait($oIE, 100, 2000)
        $oObj = _IETableGetCollection($oIE, 3)
        $cars = _IETableWriteToArray_ProgressBar($oObj, True, "Processing Requested Information!") ;<---- Modified Version See Post For It: https://www.autoitscript.com/forum/topic/195335-solved-how-to-add-a-progress-bar-to-_ietablewritetoarray/?tab=comments#comment-1400699

        $carsYear = _filter($cars, 0, 0, GUICtrlRead($year))
        $carsMake = _filter($carsYear, 0, 1, GUICtrlRead($make))
        Global $carsModel = _filter($carsMake, 0, 2, GUICtrlRead($model))

        $i = 0
        $engine = GUICtrlRead($engine)

        If $engine <> "" Then

            While $i < StringLen($engine)

                $carsEngine = _filter($carsModel, 0, 6 + $i, StringLeft($engine, 1))

                ;_ArrayDisplay($carsModel, "Cars Model Before Array Delete")

                $x = 1
                While $x <= UBound($carsModel)

                    _ArrayDelete($carsModel, $x)
                    $x += 1

                WEnd

                ;_ArrayDisplay($carsModel, "Cars Model After Array Delete")

                ;_ArrayConcatenate($carsModel, $carsEngine)

                ;_ArrayDisplay($carsModel, "Cars Model After Concatenate")

                $engine = StringTrimLeft($engine, 1)
                $i += 1

            WEnd

        Else

            Dim $carsEngine[1][16]

        EndIf

        _ArrayConcatenate($carsEngine, $carsModel)
        _ArrayDisplay($carsEngine, "Cars Engine")

        Dim $carsDriveTrain[1][16]
        Dim $carsDriveTrain2[1][16]
        $driveTrainVal = GUICtrlRead($driveTrain)
        If $driveTrainVal = "4x4" Or $driveTrainVal = "awd" Then

            $carsDriveTrain = _filter($carsEngine, 0, 9, "4")
            $carsDriveTrain2 = _filter($carsEngine, 0, 9, "a")
;~          _ArrayDisplay($carsDriveTrain, "Drive Train Before")
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train Error: " & @error)
;~          EndIf
;~          _ArrayDisplay($carsDriveTrain2, "Drive Train2 Before")
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train 2 Error: " & @error)
;~          EndIf
            _ArrayConcatenate($carsDriveTrain, $carsDriveTrain2)

            _ArrayDisplay($carsDriveTrain, "Drive Train After Concat")

        ElseIf $driveTrainVal = "" Then

            _ArrayConcatenate($carsDriveTrain, $carsEngine)

        Else

            $carsDriveTrain = _filter($carsEngine, 0, 9, $driveTrain)
        EndIf


        Dim $carsOdom[1][16]
        $min = GUICtrlRead($odomMin)
        $max = GUICtrlRead($odomMax)
        For $i = 0 To UBound($carsDriveTrain) - 1

            If $carsDriveTrain[$i][14] > $min And $carsDriveTrain[$i][14] < $max Then

                _ArrayAdd($carsOdom, $carsDriveTrain[$i])
                MsgBox("", "", "ADDED!")

            EndIf

        Next

        _ArrayDisplay($carsOdom, "Cars Odom")

        $j += 1
    WEnd

    _IEQuit($oIE)
EndFunc   ;==>_query

Func _filter($tofilter, $xpos1, $ypos1, $str)


;~  If UBound($tofilter, 1) <= 1 Then

;~      $endx = 0

;~  Else

;~      $endx = UBound($tofilter, 1) - 1

;~  EndIf

;~  $cars = _ArrayFindAll($tofilter, $str, $tofilter[$xpos1][$ypos1], $tofilter[$endx][$ypos1], 0, 1, $ypos1, False)

    $cars = _ArrayFindAll($tofilter, $str, Default, Default, 0, 1, $ypos1)

    Dim $carsFiltered[1][16] = [["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p"]]
    ;_ArrayDisplay($carsFiltered)

    $i = 0

    $uBound = UBound($cars) - 1

    While $i < $uBound

        $filtered = _ArrayExtract($tofilter, $cars[$i], $cars[$i], 0, 15)
        ;_ArrayDisplay($filtered, "_filter Array of Filtered")
        _ArrayConcatenate($carsFiltered, $filtered)

        $i += 1

    WEnd

    _ArrayDelete($carsFiltered, 0)

    Return $carsFiltered

EndFunc   ;==>_filter

 

If you know of a more efficient way of doing this please let me know would be more than happy to chew down my inefficiency while learning! (It's like my grandpa used to say, "The only criticism I can't use is that which is not given to me.")

 

The Item an I am using to test the filter is:

image.png.e5de862ecef512c1bdc241dfd794b294.png

 

Edited by rm4453
Forgot To Include Result Used For Filter

Share this post


Link to post
Share on other sites

Please attach resulting array from

$cars = _IETableWriteToArray_ProgressBar($oObj, True, "Processing Requested Information!") ;

as a txt file and specify which value is var:

$engine = GUICtrlRead($engine)

so i and maybe someother's too can have a short look for a quick solution. But as i see are you deleting from begin to end in the  array. This is no good idea, try to do this from end to begin and it should be the solution.

Share this post


Link to post
Share on other sites

@AutoBert Sorry forgot to include the data, try cache refreshing (CTRL+SHIFT+R), as it should load the if not most data requested. (The table as you see it is the resulting array, aka the HTML attached is the table before it is ran through that)

Edited by rm4453

Share this post


Link to post
Share on other sites
18 minutes ago, rm4453 said:

$engine = GUICtrlRead($engine)

This line is rewriting the contents of your $engine variable. Previously, by my guess, the variable held the Control ID of the input box, now it contains the contents of that box, and you have no way to get the contents of it again because you cleared the reference to it.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
1 minute ago, BrewManNH said:

This line is rewriting the contents of your $engine variable. Previously, by my guess, the variable held the Control ID of the input box, now it contains the contents of that box, and you have no way to get the contents of it again because you cleared the reference to it.

I don't believe so... I am able to get as far as:

_ArrayConcatenate($carsEngine, $carsModel)
        _ArrayDisplay($carsEngine, "Cars Engine") ;<---- This contains the Chevy.

        Dim $carsDriveTrain[1][16]
        Dim $carsDriveTrain2[1][16]
        $driveTrainVal = GUICtrlRead($driveTrain)
        If $driveTrainVal = "4x4" Or $driveTrainVal = "awd" Then

            $carsDriveTrain = _filter($carsEngine, 0, 9, "4") ;<---- Returns No Result.
            $carsDriveTrain2 = _filter($carsEngine, 0, 9, "a") ;<--- Returns No Result.
;~          _ArrayDisplay($carsDriveTrain, "Drive Train Before") ;<- Which means This Contains Nothing.
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train Error: " & @error)
;~          EndIf
;~          _ArrayDisplay($carsDriveTrain2, "Drive Train2 Before");< And This Contains Nothing as Well.
;~          If @error Then
;~              MsgBox("", "", "Cars Drive Train 2 Error: " & @error)
;~          EndIf
            _ArrayConcatenate($carsDriveTrain, $carsDriveTrain2)

            _ArrayDisplay($carsDriveTrain, "Drive Train After Concat")

        ElseIf $driveTrainVal = "" Then

            _ArrayConcatenate($carsDriveTrain, $carsEngine)

        Else

            $carsDriveTrain = _filter($carsEngine, 0, 9, $driveTrain)
        EndIf


        Dim $carsOdom[1][16]
        $min = GUICtrlRead($odomMin)
        $max = GUICtrlRead($odomMax)
        For $i = 0 To UBound($carsDriveTrain) - 1

            If $carsDriveTrain[$i][14] > $min And $carsDriveTrain[$i][14] < $max Then

                _ArrayAdd($carsOdom, $carsDriveTrain[$i])
                MsgBox("", "", "ADDED!")

            EndIf

        Next

        _ArrayDisplay($carsOdom, "Cars Odom")

 

Share this post


Link to post
Share on other sites
3 minutes ago, rm4453 said:

I don't believe so

Your belief and reality are two different things. You are indeed rewriting the value that the variable $engine contains.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
10 minutes ago, BrewManNH said:

Your belief and reality are two different things. You are indeed rewriting the value that the variable $engine contains.

If you believe this is the case will you please point out or highlight which portion of the script after where I commented this contains the chevy, relies on $engine? If you are correct this would be an extremely easy fix, and I would love to have it boil down to something this simple.

 

*In case this helps I can confirm for you other than the GUI initialization this is the only time it is used up to that point:

$carsYear = _filter($cars, 0, 0, GUICtrlRead($year))
        $carsMake = _filter($carsYear, 0, 1, GUICtrlRead($make))
        Global $carsModel = _filter($carsMake, 0, 2, GUICtrlRead($model))

        $i = 0
        $engine = GUICtrlRead($engine);<--- Here

        If $engine <> "" Then

 

Edited by rm4453

Share this post


Link to post
Share on other sites

rm4453,

BrewManNH is absolutely correct. The first time through the loop you trash the $engine ControlID - which means every subsequent pass will not get the correct data into the variable as it will not read the value entered in the control. As a general principle the variables for the ControlID and the data within the control should always have distinct names.

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
Just now, Melba23 said:

rm4453,

BrewManNH is absolutely correct. The first time through the loop you trash the $engine ControlID - which means every subsequent pass will not get the correct data into the variable as it will not read the value entered in the control. As a general principle the variables for the ControlID and the data within the control should always have distinct names.

M23

I see the issue he commented about, I fixed that issue, and am still receiving the same result. I do appreciate him pointing that out.

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 Jangal
      Hello friends
      This app is slow
      How to increase its speed?
       
      #include <Array.au3> #include <StringConstants.au3> #include <File.au3> #include <String.au3> Global $aWord[][2]  = [[1, "google"],[2,"hello"]]


        Global $sFileName = @ScriptDir & "\1.txt" ; 2MB Text File Local $sFileRead = FileRead($sFileName) Local $res = StringRegExp($sFileRead, "(*UCP)\b[\pL\d]{2,}", 3) _ArrayDisplay($res)   for $sWord in $res     $iIndex = _ArraySearch($aWord, $sWord, 0, 0, 0, 0, 1, 2)     ;MsgBox(0,0,$iIndex)     if $iIndex == -1 Then         Local $aFill = [[0,$sWord]]         _ArrayAdd($aWord,$aFill)        ;      Else         $aWord[$iIndex][0] +=1     EndIf   Next _ArrayDisplay($aWord)

      1.txt
    • By devilspride
      The following code creates a IE blank window
      Local $oIE = _IECreate()  
      But when i use Navigate to the URL, it open the URL in Microsoft Edge instead if IE.
      _IENavigate($oIE,$url)  
      What should i do to navigate in IE.
      Complete code :
      #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> #include <IE.au3> #Region TESTING Local $url = 'https://www.youtube.com' Local $oIE = _IECreate() _IENavigate($oIE,$url) #EndRegion Console Output
      IE.au3 T3.0-2 Error from function _IELoadWait, $_IESTATUS_ClientDisconnected (-2147023174, Browser has been deleted prior to operation.)  
      I have searched the forums but did not find such kind of post.
      Other posts were describing How to use Edge using Web driver selenium.
       
      Edit: I am working in Windows10. Recently many changes have been done by Microsoft to IE and Microsoft Edge. (2020)
      Earlier in 2019 this was working fine.
    • By Zaoka
      I'm trying to create script that would login on my SAP WEBI "web page" and replace some uploaded excel files. But i'm having problem on even the log in.
      These are user fill elements with Firefox Inspector
      <input type="text" id="_id0:logon:CMS" name="_id0:logon:CMS"> <input type="text" id="_id0:logon:USERNAME" name="_id0:logon:USERNAME"> <input type="password" id="_id0:logon:PASSWORD" name="_id0:logon:PASSWORD"> LogOnButton
      <input type="submit" id="_id0:logon:logonButton" value="Log On" class="logonButtonNoHover logon_button_no_hover" onmouseover="this.className = 'logonButtonHover logon_button_hover';" onmouseout="this.className = 'logonButtonNoHover logon_button_no_hover';">  
       
      My example, I tried _IEGetObjByName and _IEGetObjById but the script only open page but will not even fill out the form
        #include <IE.au3> Call("signIn") Func signIn() Global $oIE = _IECreate("http://192.xxx.xxx.xx:xxx/BOE/BI") Sleep (5000) Local $server = _IEGetObjByName($oIE, "_id0:logon:CMS") Local $username = _IEGetObjByName($oIE, "_id0:logon:USERNAME") Local $password = _IEGetObjByName($oIE, "_id0:logon:PASSWORD") Local $button = _IEGetObjById($oIE, "_id0:logon:logonButton") _IEFormElementSetValue($server, "TestServer:1000") _IEFormElementSetValue($username, "MyUserName") _IEFormElementSetValue($password, "MyPass") ; THIS PART ABOUT BUTTON CLICK I DONT UNDERSTAND AT ALL $sSelector = "body > div:nth-of-type(2) > div > div:nth-of-type(3) > div > table > tbody > tr > td > table > tbody > tr > td > table > tbody > tr:nth-of-type(1) > td > div > div:nth-of-type(1) > form > div:nth-of-type(5) > button" $signInUC = $oIE.document.QuerySelector($sSelector) _IEAction($signInUC, "click") EndFunc ;==>signIn  
      I would be very grateful for any help
    • By Colduction
      Hi dear friends!, i'm sorry for creating a new thread (a new problem), i have over than 9 lists that i want to combine them to be this (in this example, there are 3 test files):


      I've written a little code for splitting main information, but i really confused how to make results as "Output.txt", here is that code:
       
      $sRegex_1 = StringRegExp(FileRead("1.txt"), '(?s:(?<=\=\=\r\n)(.*?)(?=\r\n\=\=))', 3) $sRegex_2 = StringRegExp(FileRead("2.txt"), '(?s:(?<=\=\=\r\n)(.*?)(?=\r\n\=\=))', 3) $sRegex_3 = StringRegExp(FileRead("3.txt"), '(?s:(?<=\=\=\r\n)(.*?)(?=\r\n\=\=))', 3) For $i = 0 To UBound($sRegex_1) - 1 ConsoleWrite($sRegex_1[$i] & @CRLF) For $j = 0 To UBound($sRegex_2) - 1 ConsoleWrite($sRegex_2[$j] & @CRLF) For $k = 0 To UBound($sRegex_3) - 1 ConsoleWrite($sRegex_3[$k] & @CRLF) Next Next Next  
    • By adityaparakh
      Hello ,

      A website I am trying to login with my credentials.
      And retrieve the cookie into a text file.
      Unable to do so.
      Is it that certain,  Httponly , type - are not allowed to be fetched.

      Then further ,
      I will be checking every 5 minutes if my session is active , else re-login and re-fetch the cookie.
      For the second part , I will probably fetch some table and see if not in appropriate format do Part 1 : Fetch Cookie - again.
      Any better way , tips would be appreciated.
       
      Thanks
       
×
×
  • Create New...