tlman12 Posted January 13, 2010 Share Posted January 13, 2010 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? Link to comment Share on other sites More sharing options...
PsaltyDS Posted January 13, 2010 Share Posted January 13, 2010 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 Link to comment Share on other sites More sharing options...
tlman12 Posted January 13, 2010 Author Share Posted January 13, 2010 (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 expandcollapse popup--> 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 January 13, 2010 by tlman12 Link to comment Share on other sites More sharing options...
PsaltyDS Posted January 13, 2010 Share Posted January 13, 2010 (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? 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 January 13, 2010 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 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now