After repeated execution of the loop below, the function _IELinkGetCollection fails with the following messages: "C:\Program Files (x86)\AutoIt3\Include\IE.au3" (1508) : ==> The requested action with this object has failed.: Case $iIndex > -1 And $iIndex < $oObject.document.GetElementsByTagName("table").length Case $iIndex > -1 And $iIndex < $oObject.document^ ERROR ->20:07:24 AutoIt3.exe ended.rc:1 It looks like it might be related to memory issues because the problem happens after page 30, but it varies. Also, all pages contain the same table structure in terms of lines and columns. I´ve not been able to figure it out. So, any help is appreciated. #include <IE.au3>
#include <MsgBoxConstants.au3>
local $i = 0
local $qtPages = 0
local $oFound
local $colLinks
local $oTable
local $aTableData
Do
Sleep(2000)
$oIELDP = _IEAttach ("ABCD", "title")
$i = $i +1
Until isObj($oIELDP) or $i >= 5
if not isobj($oIELDP) Then
MsgBox($MB_SYSTEMMODAL, "ERR", "ABCD not Found" )
Else
Do
$oFound = ""
$colLinks = _IELinkGetCollection($oIELDP)
For $oLink In $colLinks
If $oLink.innerText = "Próxima" Then
$oFound = $oLink
ExitLoop
EndIf
Next
if $oFound <> "" Then
_IEAction($oFound, "click")
_IELoadWait($oIELDP)
$oTable = _IETableGetCollection($oIELDP, 10)
$aTableData = _IETableWriteToArray($oTable, true)
;Do something with Array $aTableData
$qtPages = $qtPages + 1
EndIf
consolewrite("$qtPages " & $qtPages & @CRLF)
Until $oFound = "" or $qtPages > 50
EndIf