beuy Posted April 19, 2010 Posted April 19, 2010 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?
DaleHohm Posted April 19, 2010 Posted April 19, 2010 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
beuy Posted April 20, 2010 Author Posted April 20, 2010 (edited) 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 April 20, 2010 by beuy
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