Jump to content

IEFormSubmit error check Access Denied


beuy
 Share

Recommended Posts

Hi There,

I am creating a scrip that logs into a website, changes a setting, logs-off and then sends an e-mail if it completed successfully. I have the following section of code:

_IEFormSubmit ($oForm)
_IELoadWait ($oIE)

And I would like to check for the error that the wrong username and password has been submitted to the form, but I am having a bit of trouble understanding how to achieve this. From reading http://www.autoitscript.com/autoit3/docs/libfunctions/_IEFormSubmit.htm I think that if the username/password is incorrect a error status of 8 (Access denied) will be thrown. I would like to somehow check for this error before containing to process the rest of the script.

Is this possible?

Link to comment
Share on other sites

No, access denied is not returned in a scenario like this. _IEFormSubmit does not know if validation suceeded or not, only if the low level form submit function was triggered properly. You'll need to examine the page returned after the form submission to determine where you succeeded or not.

Dale

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Link to comment
Share on other sites

Ah that explains it! Thanks Dale, looks like I was yet again barking up the wrong tree.

Thanks again for the help Dale, I achieved my goal by getting the body text of the resulting webpage and checking for the string that indicates the wrong username / password like so:

If StringInStr(_IEBodyReadText ($oIE), "Log on failed - Invalid User ID or Password") Then

I imagine there would be a better way to go about this, but this method works for me.

Edited by beuy
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...