closeupman Posted October 4, 2005 Posted October 4, 2005 It's been a while since I've used AutoIt, but came up with a use, I'm sure other people have thought of or done ir already. However my code isn't working. I tested it with msgbox and I can't get either ControlGetText or StatusBarGetText to return text. I tried the Status bar at first, but then tried ControlGetText cuz I thought maybe MS IE doesn't use a standard statusbar. I tried using both the ControlName and ID I got from AutoItWindowInfo utility. All I get is blank when displaying the text in a test msgbox. I'm sure it's an easy problem to solve, I just can't see what I did wrong! Thanks, Close ;Checks First External Email, also tried msctls_statusbar321 to no avail ;also assumes that you don't use cookies w/yahoo ;so it enters username & password run("C:\Program Files\Internet Explorer\IEXPLORE.EXE") winwaitactive("Sign in to Yahoo") winactivate("Sign in to Yahoo") sleep(100) Send("username{TAB}") send("password") send("{ENTER}") While not winwaitactive("Yahoo! Mail") if winactive("Security") then send("{ENTER}") endif wend sleep(50) $statustext=ControlGetText("Yahoo!Mail", "", 40961) While StringInStr ($statustext, "FOOT")=0 if StringInStr ($statustext, "External")>0 then ;Send("{TAB 32}{ENTER}") send("{Enter}") endif sleep(100) Send("{TAB}") $statustext=ControlGetText("Yahoo!Mail", "", 40961) ;$statustext=StatusBarGetText("Yahoo!Mail") wend
seandisanti Posted October 4, 2005 Posted October 4, 2005 It's been a while since I've used AutoIt, but came up with a use, I'm sure other people have thought of or done ir already. However my code isn't working. I tested it with msgbox and I can't get either ControlGetText or StatusBarGetText to return text. I tried the Status bar at first, but then tried ControlGetText cuz I thought maybe MS IE doesn't use a standard statusbar. I tried using both the ControlName and ID I got from AutoItWindowInfo utility. All I get is blank when displaying the text in a test msgbox.I'm sure it's an easy problem to solve, I just can't see what I did wrong!Thanks,Close ;Checks First External Email, also tried msctls_statusbar321 to no avail ;also assumes that you don't use cookies w/yahoo ;so it enters username & password run("C:\Program Files\Internet Explorer\IEXPLORE.EXE") winwaitactive("Sign in to Yahoo") winactivate("Sign in to Yahoo") sleep(100) Send("username{TAB}") send("password") send("{ENTER}") While not winwaitactive("Yahoo! Mail") if winactive("Security") then send("{ENTER}") endif wend sleep(50) $statustext=ControlGetText("Yahoo!Mail", "", 40961) While StringInStr ($statustext, "FOOT")=0 if StringInStr ($statustext, "External")>0 then ;Send("{TAB 32}{ENTER}") send("{Enter}") endif sleep(100) Send("{TAB}") $statustext=ControlGetText("Yahoo!Mail", "", 40961) ;$statustext=StatusBarGetText("Yahoo!Mail") wendyou should check out dale's IE.au3, that'll make things very easy on this one. there are several links to it in the support forum, and a few people have done this exact thing also, you should be able to find a script to use as an example to troubleshoot yours..
AutoChris Posted October 4, 2005 Posted October 4, 2005 (edited) I agree with cameronsdad that you should use IE.au3 since it will log you on to Yahoo! much, MUCH faster than the script you have created. I use Firefox so I prefer not to use IE unless I have to; however, I do use an AutoIt script using IE.au3 to log on to my Yahoo! mail. If you would rather not use IE.au3 (for some odd reason) you can modify your script just a little to make it work. Instead of using $statustext=ControlGetText("Yahoo!Mail", "", 40961) try using Do $statustext = WinGetText ("Sign in to Yahoo", "Done") Sleep (100) Until $statustext = "Done" Edit:I also recommend you use Opt ("WinTitleMatchMode", 4) Edited October 4, 2005 by SerialKiller
herewasplato Posted October 5, 2005 Posted October 5, 2005 I agree with cameronsdad and SerialKiller that you should use IE.au3 - however; see this post for a script that might do what you want: http://www.autoitscript.com/forum/index.ph...=ST&f=9&t=14395 [size="1"][font="Arial"].[u].[/u][/font][/size]
closeupman Posted October 5, 2005 Author Posted October 5, 2005 I agree with cameronsdad and SerialKiller that you should use IE.au3 - however; see this post for a script that might do what you want: http://www.autoitscript.com/forum/index.ph...=ST&f=9&t=14395YEs I"m going to try the UDF.Just not sure where in the source to find the FORM object variable. I see in the example he posted for that, but couldn't see how he got it for yahoo or hotmail. I looked at the source files. Anyone know how or where to look?Thanks Thanks, but I already can login to yahoo. I was trying to check my 'external accounts'. I tried reading the statusbar but to no avail. I'll try the IE3 udf.If you would rather not use IE.au3 (for some odd reason) you can modify your script just a little to make it work. Instead of using $statustext=ControlGetText("Yahoo!Mail", "", 40961) try using Do $statustext = WinGetText ("Sign in to Yahoo", "Done") Sleep (100) Until $statustext = "Done" Edit:I also recommend you use Opt ("WinTitleMatchMode", 4)
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