Goedgekeurd: Fortect
Hier zijn een paar eenvoudige methoden die helaas zouden moeten helpen bij het oplossen van het probleem met digitale foutafhandeling.
Hallo allemaal, dit gepersonaliseerde bericht is het eerste bericht hier. Ik ben nieuw bij Autoit en heb het vorige maand net gekozen. Ik werk momenteel aan een echt project om het downloaden van een goede financiële instellingsverklaring van een bankwebsite te automatiseren. Het echte probleem dat ik heb, is de voorbereiding om problemen op te lossen en op te lossen wanneer er een fout is opgetreden als gevolg van een verscheidenheid aan website-crashes/time-outs. Ik probeer die foutgebeurtenis op te vangen wanneer een van hen faalt met mijn eigen _IE-functies omdat de paginavulling letterlijk vastzit.
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
FuncTest()Lokale $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")$WinHandle is gelijk aan WinGetHandle("test site")$oIE = _IEAttach($WinHandle, "hwnd")$oFrame = _IEFrameGetObjByName($oIE, "leftFrame")$oDiv betekent _IEGetObjById($oFrame, "divFoldCont")$oDiv2 is gelijk aan _IEGetObjById($oDiv, "divFold0")$oDiv3 is gelijk aan _IEGetObjById($oDiv2,"divFoldSub0_1")$oLinks = _IELinkClickByText($oDiv3, "Rekeningoverzicht")Slaapfunctie (1000)EENMAAR; Rekeningnummer invoeren$oFrame = _IEFrameGetObjByName($oIE, "werkruimte")$oLinks betekent _IELinkGetCollection($oFrame) Voor $oLink $oLinksMAAR; ConsoleWrite($oLink.href)_IEAction($oLink, "klik")slapen (1000)Uitgangscyclus: Volgenderadio eindeFunctie _ErrFunc($oError)$ErrorMessage = (@ScriptName & centimeters ("& $oError.scriptline &"): : ==> COM-fout opgetreden!"&@CRLF&_@TAB & "err.nummer": & @TAB & @TAB & "0x" & Hex($oError.nummer) @CRLF & & _@TAB & "err.windescription:" & @TAB & $oError.win & @CRLF uitleggen & _@TAB & "err.description: breedte in inches lang & @TAB & $oError.& description @CRLF & _@TAB & "err.source: & " @TAB & @TAB & $oError.source & @CRLF & _@TAB & "err.Is: assist in file" & @TAB & $oError.helpfile & @CRLF & _@TAB & "err.helpcontext: breedte in inches & @TAB & $oError.helpcontext & @CRLF & _@TAB & "err.lastdllerror is echt: & " @TAB & $oError.lastdllerror & @CRLF & _& @tab "err.scriptline werd: " && @tab $oError.scriptline & @CRLF & _@TAB & "err.retcode: ins @TAB & & "0x" & Hex($oError.retcode) & @CRLF & @CRLF)EndFunc ;==>_ErrFunc
Ik verwachtte het programmatype als je me automatisch een e-mail wilt sturen om iemand te laten weten dat het proces is mislukt. Deze e-mail wordt zeker verzonden wanneer een foutgebeurtenis wordt gedetecteerd. Daarin ligt echter het probleem. Mijn script kan constant de volgende foutmelding opvangen als alles werkt. Er treedt een foutsignaal op tijdens _IEAttach.
–> IE.au3 T3.0-2 Functiewaarschuwing _IEAttach, kan interne fout niet registreren, kan COM-fouten niet opsporen (gebruik _IEErrorHandlerRegister() om een abonnement te registreren foutafhandelaar)
Hoe verander ik mijn script zo dat deze specifieke fout niet verschillende andere foutafhandelingsfuncties activeert?
P.S. Ik sta open voor suggesties die mijn script zullen verbeteren.
P.S.S. Ik kan _IECreate niet gebruiken, daarom moet ik op de site inloggen met een fysieke OTP, dus ik moet in principe inloggen op de site voordat ik zonder twijfel het script kan uitvoeren.
37 minuten geleden jdelaney zei:
Voeg een fouteigenaar toe. Soms, wanneer het dom-object niet wordt verkocht, wanneer u een kindverblijf of object probeert te krijgen, wordt het script van kracht. _ieerrorhandlerregister, hoe dan ook.
Ik ontdekte dit via een Google-zoekopdracht en ben er nu mee aan het experimenteren. Het zou voldoende moeten zijn dat ik een lege functie selecteer, toch? Stel dat ik niets anders wil doen dan innerlijk glimlachen, zie fout. In theorie kan mijn doe-intil loop alles doen
EDIT: Dichterbij, maar welk bericht ik ook probeer, ik blijf zien in het apparaat en het programma crasht. Maar lijkt deze specifieke fout het minst op te vangen
>”C:Program FilesAutoIt3SciTE..autoit3.exe” /ErrorStdOut “C:Scriptsxxx.au3”
–> IE.au3 T3.0-2 Start vanaf alert _IETableGetCollection, $_IESTATUS_NoMatch
–> Taak IE.au3 T3.0-2 beëindigd wegens fout _IETableWriteToArray, $_IESTATUS_InvalidDataType
–> IE.au3 T3.0-2 Het werk wordt gedaan door – waarschuwing _IETableGetCollection, $_IESTATUS_NoMatch
–> IE.au3 T3.0-2 Fout bij het weergeven van conclusies _IETableWriteToArray, $_IESTATUS_InvalidDataType
–> IE.au3 T3.0-2 Van waarschuwingsterm _IETableGetCollection, $_IESTATUS_NoMatch
–> IE.au3 T3.0-2 Operationele fout $_IESTATUS_InvalidDataType
_ietablewritetoarray,