Jump to content

Recommended Posts

Posted

i guess a recent windows update must have done something to IE8 because now a script that i created to do searches on one of my internal webpages no longer works.

the problems start with _IECreate() it never tells the script the script when the page is done loading so the script stops there. i changed the wait load from a 1 to a 0 and then i get an error with $oForm = _IEFormGetObjByName ($oIE, "Search")

Local $o_col = $o_object.document.forms.item($s_Name)

Local $o_col = $o_object.document^ ERROR

is there something i can do to fix this? like a setting in IE or something?

Posted

Probably you tried to use the forms collection instantly, before any of the structure was available.

After you set $f_wait = 0, you need _IELoadWait() with a timeout value, or a loop to check status. Even if it doesn't recognize completion, some time delay is required before accessing the DOM elements.

Put _IEErrorHandlerRegister() at the top of your script to get better info on the errors.

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Posted (edited)

Probably you tried to use the forms collection instantly, before any of the structure was available.

After you set $f_wait = 0, you need _IELoadWait() with a timeout value, or a loop to check status. Even if it doesn't recognize completion, some time delay is required before accessing the DOM elements.

Put _IEErrorHandlerRegister() at the top of your script to get better info on the errors.

i did i put a sleep(10000) and still failed

--> IE.au3 V2.4-0 Warning from function _IELoadWait, $_IEStatus_LoadWaitTimeout
--> COM Error Encountered in test.au3
----> $IEComErrorScriptline = 1111
----> $IEComErrorNumberHex = 80010108
----> $IEComErrorNumber = -2147417848
----> $IEComErrorWinDescription = The object invoked has disconnected from its clients.
----> $IEComErrorDescription = 
----> $IEComErrorSource = 
----> $IEComErrorHelpFile = 
----> $IEComErrorHelpContext = 
----> $IEComErrorLastDllError = 0

--> COM Error Encountered in test.au3
----> $IEComErrorScriptline = 1124
----> $IEComErrorNumberHex = 80010108
----> $IEComErrorNumber = -2147417848
----> $IEComErrorWinDescription = The object invoked has disconnected from its clients.
----> $IEComErrorDescription = 
----> $IEComErrorSource = 
----> $IEComErrorHelpFile = 
----> $IEComErrorHelpContext = 
----> $IEComErrorLastDllError = 0

--> IE.au3 V2.4-0 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch
--> IE.au3 V2.4-0 Error from function _IEFormElementGetCollection, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEFormSubmit, $_IEStatus_InvalidDataType
--> COM Error Encountered in test.au3
----> $IEComErrorScriptline = 1852
----> $IEComErrorNumberHex = 80010108
----> $IEComErrorNumber = -2147417848
----> $IEComErrorWinDescription = The object invoked has disconnected from its clients.
----> $IEComErrorDescription = 
----> $IEComErrorSource = 
----> $IEComErrorHelpFile = 
----> $IEComErrorHelpContext = 
----> $IEComErrorLastDllError = 0

--> IE.au3 V2.4-0 Warning from function _IETableGetCollection, $_IEStatus_NoMatch
--> IE.au3 V2.4-0 Error from function _IETableWriteToArray, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEAction, $_IEStatus_InvalidObjectType
Edited by tlman12
Posted (edited)

i did i put a sleep(10000) and still failed

--> IE.au3 V2.4-0 Warning from function _IELoadWait, $_IEStatus_LoadWaitTimeout
--> COM Error Encountered in test.au3
----> $IEComErrorScriptline = 1111
----> $IEComErrorNumberHex = 80010108
----> $IEComErrorNumber = -2147417848
----> $IEComErrorWinDescription = The object invoked has disconnected from its clients.
----> $IEComErrorDescription = 
----> $IEComErrorSource = 
----> $IEComErrorHelpFile = 
----> $IEComErrorHelpContext = 
----> $IEComErrorLastDllError = 0
Well, that's not a good start. What kind of site are you opening with _IECreate()? Does it open another instance of the browser (or another tab)? Can you post a reproducer script?

:D

P.S. What happens if you run _IECreate(), then Sleep(10000), then use _IEAttach() to get the reference to browser? That would overcome a new browser instance being used.

Edited by PsaltyDS
Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

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
×
×
  • Create New...