setirich

Problem with _IEGetObjByName

7 posts in this topic

#1 ·  Posted (edited)

I have a script that generates this message after exactly 30 cycles or pages. For the past week it was working just fine, and then last night began the behavior again. As you can see, its an error within the IE.au3 include.

"C:\Program Files (x86)\AutoIt3\Include\IE.au3" (1875) : ==> The requested action with this object has failed.:
If IsObj($oObject.document.GetElementsByName($sName).item($iIndex)) Then
If IsObj($oObject.document^ ERROR

The code that calls & uses this information is below...nothing fancy, but why does it fail after exactly 30 cycles ?  Not even sure its my code that is failing...or the include.

$InBox = _IEGetObjByName($oIE, "CaseNumber")
_IEAction($InBox, "focus")
$msgIS = _IEFormElementSetValue($InBox, $PID)
$SButt = _IEGetObjByName($oIE, "submit")
_IEAction($SButt, "focus")
_IEAction($SButt, "click")

I'm using the latest stable version of  AutoIt (v3.3.14.2)

The system is Widows 7 with IE 11. Both have all the latest updates.

Thanks for any insight you might offer...

Rich

 

Edited by setirich
fix code entry

Good intentions will always be pleaded for every assumption of authority. It is hardly too strong to say that the Constitution was made to guard the people against the dangers of good intentions. There are men in all ages who mean to govern well, but they mean to govern. They promise to be good masters, but they mean to be masters.-Daniel Webster

Share this post


Link to post
Share on other sites



On my website I have an algorithm that drops rapid multiple connections that are similar -  do you have delays are you using _IENavigate after the first _IEAttach or _IECreate ?

Share this post


Link to post
Share on other sites

@setirich do you use COM Error Handler ?

Please read this:  How to use IE.au3  UDF with  AutoIt v3.3.14.x  

 


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

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

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Best coding practices * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * 

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2017-06-04

Share this post


Link to post
Share on other sites

to Jury:

  • Yes I have delays in my script. I don't want to bang the web site. there is approx. 6 seconds of delay per page. I did not show the delays so the 'action' code would be clear.
  • After the initial attach, there are additional navigate commands to return to the case number input and submit page. The action 'back' command did not work, so I set it up with the navigate command. Is that wrong?
  • I'm staying at the same web site most of the time. (big Calf. courts)
  • I'm using the user interface 'properly'. I scrape court case info for various groups of attorneys and they don't want me ruffling the local court feathers.
  • No, I don't use com error handling, I will look into it immediately.

to  mLipok:

  • Thanks for writing the 'how to' instruction. I will work this into my web scripts. I believe the problem I'm having is 'internal' and not related to the web site trying to bounce me out. The returned error is an internal AutoIt once, so the com thing may be just what is needed.

Good intentions will always be pleaded for every assumption of authority. It is hardly too strong to say that the Constitution was made to guard the people against the dangers of good intentions. There are men in all ages who mean to govern well, but they mean to govern. They promise to be good masters, but they mean to be masters.-Daniel Webster

Share this post


Link to post
Share on other sites

That is a nasty thing - you will need to put a checkpoint after every IE function call because you get an internal IE include error line - right ?

So i would suggest to put a filewriteline after each IE call to write status reports and later on check what and where it went wrong.

Share this post


Link to post
Share on other sites
12 minutes ago, setirich said:
  • Thanks for writing the 'how to' instruction. I will work this into my web scripts. I believe the problem I'm having is 'internal' and not related to the web site trying to bounce me out. The returned error is an internal AutoIt once, so the com thing may be just what is needed.

When you do it , get back and say if this issue  still occurs in your case.


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

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

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Best coding practices * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * 

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2017-06-04

Share this post


Link to post
Share on other sites

Juvigy:

I do NOT get an error with each function call. Only after a period of time...so many pages.

I'm not sure why using IE functions are nasty, but I'd like to hear more.

mLipok:

Interesting result with your example script: 

On my Workstation, Using it script exactly as presented, it properly clicks on the btnI and returns a page about the days Google logo. No com error

On the machine I use for running web scripts, it returns a com error as it should within the console.

Both machines are WIn7Pro, all latest updates, same IE11 version, and same AutoIt version. This is not the first time I've seen different reactions to scripts / MySQL code / VB programs between machines. Always makes me wonder why computers sometimes seem so random in their behavior...

Still, I need to incorporate the com error handling. I'm NOT a pro at this, although I use AutoIt extensively for text manipulation, my web skills have always been suspect...so please bear with me as I attempt to learn.

I am currently attempting to figure out how to put these checks into my script, but give my above statement on skill level, it's going to be an interesting & challenging day.


Good intentions will always be pleaded for every assumption of authority. It is hardly too strong to say that the Constitution was made to guard the people against the dangers of good intentions. There are men in all ages who mean to govern well, but they mean to govern. They promise to be good masters, but they mean to be masters.-Daniel Webster

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