icu Posted October 12, 2011 Share Posted October 12, 2011 Dear AutoIt Community, I'm having trouble logging into a specific site. I can't say I know a lot about DOM elements and such but I have been getting better and better at using IE-Builder to figure out how to get AutoIt to do what I want it to do in IE. However now I'm stuck... on a website called www.newsinslowspanish.com. My wife has a paid subscription but she wants all the mp3s and pdfs all nicely downloaded into nicely dated folders. I told her I could code up a way to constantly grab it all from the website so she doesn't need to do 8 or 9 clicks for each upload they do. Silly me because I can't even get AutoIt to login to the website. Below is the following work in progress code: #include <IE.au3> $s_URL = "www.newsinslowspanish.com" $s_User_ID = "login" $s_Your_Password = "password" $o_IE = _IECreate ($s_URL) _IELoadWait ($o_IE) $o_Login_Form = _IEFormGetCollection ($o_IE, 0) $o_amember_login = _IEFormElementGetObjByName ($o_Login_Form, "amember_login") $o_amember_pass = _IEFormElementGetObjByName ($o_Login_Form, "amember_pass") _IEFormElementSetValue ($o_amember_login, $s_User_ID) _IEFormElementSetValue ($o_amember_pass, $s_Your_Password) #cs Just some of my failed attempts... Attempt 1: _IEAction ($o_amember_pass, "click") Send ("{ENTER}") Attempt 2: _IEFormElementOptionSelect ($o_Login_Form, "Login", "byValue") Attempt 3: ;_IEFormSubmit() Attempt 4: ;_IELinkClickByText ($o_IE, "Login") Attempt 5: ;_IELinkClickByIndex ($o_IE, 52) Attempt 6: ; $o_Form_Login = _IEFormElementGetCollection ($o_Login_Form, 2) ; _IEAction ($o_Form_Login, "click") #ce At the moment IE fires up and enters in the login and password but I just can't get it to click on 'Login' or submit the form. I've tried a few variations on _IEFormSubmit() and figured the problem is due to some onclick Javascript as per the Remarks in the Help File. For the life of me I tried more than the 6 different ways above but I just can't work it out. Can someone please help with some code that will actually login but also explain to me why I haven't been able to figure this out so far? Clearly I don't know what I don't know. I've spent about 2 hours going through the Help File and trying different things so I'm coming here as a last resort. Many thanks in advance for any help or pointers. Kind regards, icu Link to comment Share on other sites More sharing options...
Vishal85 Posted October 13, 2011 Share Posted October 13, 2011 You can try working with the widget properties of Login button. Sample code....assuming that login button has a name property (use _IEFormElementGetObjById if it has id property) $o_loginbutton = _IEFormElementGetObjByName ($o_Login_Form, "namepropertyofloginbutton")_IEAction($o_loginbutton, "click") Link to comment Share on other sites More sharing options...
icu Posted October 13, 2011 Author Share Posted October 13, 2011 Dear sadaphvi, Thanks for your reply, but I did try that. The button doesn't have an "id" or a "name". Link to comment Share on other sites More sharing options...
taietel Posted October 13, 2011 Share Posted October 13, 2011 icu, try this: #include <IE.au3> $s_User_ID = "login" $s_Your_Password = "password" $s_URL = "http://www.newsinslowspanish.com/amember/login.php?amember_login="&$s_User_ID&"&amember_pass="&$s_Your_Password $o_IE = _IECreate ($s_URL) _IELoadWait ($o_IE) Things you should know first...In the beginning there was only ONE! And zero... Progs: Create PDF(TXT2PDF,IMG2PDF) 3D Bar Graph DeskGadget Menu INI Photo Mosaic 3D Text Link to comment Share on other sites More sharing options...
icu Posted October 14, 2011 Author Share Posted October 14, 2011 Dear taietel, Thank you this solution works perfectly! How did you know that it needed the following line of code: $s_URL = "http://www.newsinslowspanish.com/amember/login.php?amember_login="&$s_User_ID&"&amember_pass="&$s_Your_Password ..so I'll know when to use it in the future. Link to comment Share on other sites More sharing options...
Zedna Posted October 14, 2011 Share Posted October 14, 2011 You first example is OK just instead of _IEFormSubmit() use _IEFormSubmit($o_Login_Form) Resources UDF ResourcesEx UDF AutoIt Forum Search 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