nbala75 Posted January 2, 2011 Share Posted January 2, 2011 There are certain fields which i fill in a particular page using IE as browser When i press Submit button, browser shows a new page and i need to press confirm button to complete the transaction. There are no new windows opened, the windows title are pretty identical. I cannot differentiate the new page using Visible/hidden texts. There is no change at all. How do i identify this new CONFIRM page? Bcos i need to wait till the new page loads and then click confirm button, which takes some few seconds. How do i use WINWAITACTIVE function without identifying the new page? Is there any other way? Link to comment Share on other sites More sharing options...
funkey Posted January 2, 2011 Share Posted January 2, 2011 Use _IELoadWait from IE.au3. Or you can differentiate the windows with _IEBodyReadHTML. Just loop this function until the string returned has changed. I think you do not use the IE.au3 at all! You should use it! Programming today is a race between software engineers striving tobuild bigger and better idiot-proof programs, and the Universetrying to produce bigger and better idiots.So far, the Universe is winning. Link to comment Share on other sites More sharing options...
nbala75 Posted January 2, 2011 Author Share Posted January 2, 2011 (edited) Funkey u are right...iam shy to use IE.au3 Couple of weeks back, i was just trying to learn using IE. I first cud manage to get my Login, password thing working using IEcreate of IE.au3. Once after that, I had tried to use it on existing windows (which were opened earlier). Somehow after some couple of hrs of effort, i cud not manage to do it even for once . I used IEnavigate, IEAttach etc, but cud not make it to work. It wasnt attaching at all. As iam a novice, i felt miserable that day and left it as it is Since i work mainly on IE, getting to know IE.au3 will really help to a great deal Even yesterday, i was searching for online videos for IE scripts with simple examples...i cud not find any. If u can help me with couple of good links to learn scripts using IE.au3, that wud be really great Thanx again for ur time Edited January 2, 2011 by nbala75 Link to comment Share on other sites More sharing options...
PsaltyDS Posted January 2, 2011 Share Posted January 2, 2011 The thing about the IE.au3 UDF is that there are multiple "advanced" topics involved: COM Objects, and the IE DOM. It is a lot to learn, but well worth it, and you don't have to be a full expert on either. You just need some basics in each. Take it one step at a time. First you need an object reference to the instance of IE (the $oIE object). You get it directly from _IECreate(), or retrieve it from an existing instance with _IEAttach(). Since you had trouble with _IEAttach(), what did you try? Post a short example of how you used _IEAttach() and how it failed for you. For example, which "mode" of _IEAttach() were you trying to match with? 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...
nbala75 Posted January 3, 2011 Author Share Posted January 3, 2011 PSaltyDS Thanx for ur time This is the one which worked for me #include <IE.au3> ; Create a browser window and navigate to $oIE = _IECreate("https://trade.justtrade.in/stsb/presentationlayer/Login.ASP") $oForms = _IEFormGetCollection ($oIE) For $oForm In $oForms $o_form = $oForm Next ; get pointers to the login form and username, password and signin fields $o_login = _IEFormElementGetObjByName ($o_form, "LoginID") $o_password = _IEFormElementGetObjByName ($o_form, "Password") $o_tpassword = _IEFormElementGetObjByName ($o_form, "TradePassword") $o_signin = _IEFormElementGetObjByName ($o_form, "Submit") $username = "1234567" $password = "oooooooo" $tpassword = "oooooooo" ; Set field values and submit the form _IEFormElementSetValue ($o_login, $username) _IEFormElementSetValue ($o_password, $password) _IEFormElementSetValue ($o_tpassword, $tpassword) _IEFormElementRadioSelect ($oForm, "ASP^8", "Product", 1, "byValue") _IEAction ($o_signin, "click") This is the one which i tried using it once after loging in, which never worked...didnt know what to do after that...i have been searching, reading, trying it out etc..but none worked $oIE1 = _IEAttach("N") Sleep(1000) $formname="PlaceOrder" $o_form1 = _IEFormGetObjByName ($oIE1, $formname) $o_symbol = _IEFormElementGetObjByName ($o_form1, "Symbol") $o_Submit = _IEFormElementGetObjByName ($o_form1,"Submit Order") _IEAction ($o_Submit, "click") $oIE = _IEAttach ("<Title of the window>") $o_form = _IEFormGetObjByName ($oIE, "<Form name>") $Exch = _IEFormElementGetObjByName ($o_form, "Exchange") $E="NSE" _IEFormElementOptionselect($Exch,$E) Even the above Login code which worked with IEcreate, never worked with IEattach . There were many other codes with which i have been trying to attach or navigate, were either ower-written or deleted Mine is always need based reading...there are so many needs with IE...but when i cud not even login(the very first step), its heartening to move further. Anyways, if u cud suggest me some organised reading, some links for online videos, tutorials, examples etc, that wud really help me in my life. There were some 20 serially numbered YT videos, done by a lady into basics of autoit, but, none on IE Link to comment Share on other sites More sharing options...
nbala75 Posted January 5, 2011 Author Share Posted January 5, 2011 When i use this code, it shows the URL correctly, meaning that it has been attached properly (?)#include <IE.au3> $oIE = _IEAttach ("<title string>","Title") MsgBox(0, "The URL", _IEPropertyGet ($oIE, "locationurl")) ExitWhen i use this code, it throws up error which is appended just below the code.#include <IE.au3> $oIE = _IEAttach ("<title string>","Title") $oForms = _IEFormGetCollection ($oIE) $iNumForms = @extended MsgBox(0, "Forms Info", "There are " & $iNumForms & " forms on this page") For $i = 0 to $iNumForms - 1 $oForm = _IEFormGetCollection ($oIE, $i) MsgBox(0, "Form Info", $oForm.name) NextAlthough Debugbar show some 4 forms in the pageWhat cud be the issue here? Link to comment Share on other sites More sharing options...
PsaltyDS Posted January 6, 2011 Share Posted January 6, 2011 --> IE.au3 V2.4-0 Warning from function _IEAttach, $_IEStatus_NoMatch_IEAttach() failed in your second try. Since the first two lines of both scripts are the same, that means the IE page was NOT similarly available to both scripts. Stop right there and find out why the second script failed at _IEAttach(). Nothing after that could possibly work because $oIE was invalid. 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...
nbala75 Posted January 7, 2011 Author Share Posted January 7, 2011 (edited) _IEAttach() failed in your second try. Since the first two lines of both scripts are the same, that means the IE page was NOT similarly available to both scripts. Stop right there and find out why the second script failed at _IEAttach(). Nothing after that could possibly work because $oIE was invalid.I was hoping that u wud come here and reply...thanxBut any suggestions? I have been trying with other modes as well without much help....where to look? Edited January 7, 2011 by nbala75 Link to comment Share on other sites More sharing options...
PsaltyDS Posted January 8, 2011 Share Posted January 8, 2011 I don't know how you can move on until we understand this. Here's the first two lines of your first script: #include <IE.au3> $oIE = _IEAttach ("<title string>","Title") And that worked. Now here's the first two lines of your second script: #include <IE.au3> $oIE = _IEAttach ("<title string>","Title") And that failed already. That doesn't make any sense. It's hard to talk about what to do next when things are already weird on the second line. You're not telling us something here... 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...
nbala75 Posted January 8, 2011 Author Share Posted January 8, 2011 mmm dumb me let me try this again before coming back to u Link to comment Share on other sites More sharing options...
nbala75 Posted February 4, 2011 Author Share Posted February 4, 2011 Me back again I have been trying to us IEattach without much success So i have started to use IEcreate and close that window, once after copying the table contents using _IETableGetCollection and _IETableWriteToArray... This is very sicko...and i really dont know the real way to Attach an IEwindow using various modes... I have been trying to attach to window like this...any help is appreciated http://img109.imageshack.us/i/tradelogscreen.png/ (sorry img enclosure is not allowed here !) 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