AL3X Posted September 1, 2007 Share Posted September 1, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
AL3X Posted September 2, 2007 Author Share Posted September 2, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
footswitch Posted September 2, 2007 Share Posted September 2, 2007 Oh, the thing that I want to do is something like rapget or USDownloader or something like that... thanks I came across your post because I'm having trouble with some images and their behaviour is just like turing numbers: they keep changing all the time. My post: http://www.autoitscript.com/forum/index.php?showtopic=52522 You can find this in the Help File: (to create a hidden browser window) #include <IE.au3> _IECreate ( [$s_Url = "about:blank" [, $f_tryAttach = 0 [, $f_visible = 1 [, $f_wait = 1 [, $f_takeFocus = -1]]]]] ) CODE; ******************************************************* ; Example 5 - Create an invisible browser window, navigate to a website, ; retrieve some information and Quit ; ******************************************************* ; #include <IE.au3> $oIE = _IECreate ("http://sourceforge.net", 0, 0) ; Display the innerText on an element on the page with a name of "sfmarquee" $oMarquee = _IEGetObjByName ($oIE, "sfmarquee") MsgBox(0, "SourceForge Information", $oMarquee.innerText) _IEQuit ($oIE) so maybe you want to try doing the script with visible window and, after it works that way, try to do it with the invisible parameter. I understand that OCR can be an easy task to perform, even with hidden browser window, assuming that requesting the image via InetGet will generate a different turing number, but will also instruct the server to expect the last provided turing number. So you actually may not have the same problem as I do. Link to comment Share on other sites More sharing options...
AL3X Posted September 2, 2007 Author Share Posted September 2, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
Generator Posted September 2, 2007 Share Posted September 2, 2007 $oButton=IEGetObjByName($oIE,"dl.start") _IEAction($oButton,"Click") I assumed you have $oIE as your IE obj. Link to comment Share on other sites More sharing options...
AL3X Posted September 2, 2007 Author Share Posted September 2, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
AL3X Posted September 3, 2007 Author Share Posted September 3, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
footswitch Posted September 3, 2007 Share Posted September 3, 2007 (edited) Ok, I have the image I use this : $Img = _IEImgGetCollection($Ventana, 2); $Ventana is my $oIE... xD (I'm spanish...) jiji $ImgLink = $Img.src;Gets the link to the image... InetGet($ImgLink, @HomeDrive & "\" & "OCR.jpg");downloads the image... ....(OCR...) xD But now I have another cuestion... I download the image, analize it with OCR, type the code in the input box, click de "Download button", but now the browser ask me where do I want to download the file, and I want to automatizate this.... how can I do that ? (I'm doing al the job alone... ;) )Hi again. Glad to see that your work is in progress. It seems like you're spending too much time with trial/error methods. Maybe you should read the documentation and check out some examples to better understand what you can do with autoit and how you can do it. My opinion is that the download and SaveAs dialogs are the trickiest. Because you expect the download dialog to appear, click Save, open SaveAs dialog and hit the target file... but honestly you never know what can happen. Timeouts, file location errors, and so on. So this way your script might not be flawless. Why don't you try to find some sort of plugin/addon for IE that automatically saves files in a certain location? If not, try to use the following methods: - WinWait(title,text) (wait for the download window to appear) - ControlClick(...) (click the save button) - WinWait(title,text) (wait for the SaveAs window) - ControlSend(...) (send for instance an ENTER key to the filename control to accept its location) Use AutoIt Window Info utility to discover window title and text and controls' parameters. EDIT: btw, can you be kind enough to share the name of that OCR software that you're using? i've been looking for a good OCR software that supports command-line execution. Edited September 3, 2007 by footswitch Link to comment Share on other sites More sharing options...
AL3X Posted September 3, 2007 Author Share Posted September 3, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
AL3X Posted September 3, 2007 Author Share Posted September 3, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
Nahuel Posted September 3, 2007 Share Posted September 3, 2007 *apologises for interrupting* Ahhh finally some Spanish blood around here. Link to comment Share on other sites More sharing options...
AL3X Posted September 3, 2007 Author Share Posted September 3, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
footswitch Posted September 3, 2007 Share Posted September 3, 2007 Shure The OCR that I use is called "GOCR" (now JOCR) The oficial web page is http://jocr.sourceforge.net/ Its open-source so you can modificate it and its GNU Public License so your program is 100% free (...) TODO: 7: Save the file automaticaly... Thanks a lot for the help >> AU3 THE BEST !!! (L) :"> For the download automation part, using the methods stated above will do the trick. You might want to add some stuff later, like having a timeout on those waitings to avoid your script freezing, waiting forever, because the download isn't started due to communication errors or server busy. This ocasionally happens. That's the OCR software that I use in my scripts, too. It's not like that good, but as long as you're not dealing with fancy typing, it works fine. Anything other than this software just costs too much for the use of it. Some other thing to add to the "TODO" list are: * Detect if the link is a rapidshare link... * Detect if the OCR program has returned 4 letters, if more > error | else if "_" pressent > error * Make the programa "read" the links from another file... o from the GUI like USDownloader... * Make some nice GUI * Detect if the user has an DHCP coneccion, and if so change the IP agter every downloaded file to avoide the waiting... The first two are easy to implement: just use If conditions with StringInStr to check for "rapidshare", or in the other case for "_", and StringLen to check lenght. What I would do in this case would be getting Number(FileReadLine("file.txt",1)) directly. If this doesn't result in those 4 chars long then you decide what to do: Number("x_yz") returns x Number("_xyz") returns 0 Number("xy_z") returns xy Now, what else? Ah, you may want to use the parameter "-C 0-9" in GOCR (it's upper C, not lower c) to return only numbers (or "_" when not recognized). Keep working and sharing your thoughts and good luck Link to comment Share on other sites More sharing options...
Nahuel Posted September 3, 2007 Share Posted September 3, 2007 Trankilo hombre yo tambien me alegro de ver a alguien con quien poder hablar en español... juer... me estaba agobiando ya con el ingles... xD jajasalu2Yo me quedé acá porque la gente responde muy rápido y hay muy buen trato hacia los que no saben. Espero verte más seguido.But still, I think we should stick to English, for respect. * Detect if the link is a rapidshare link...Use StringInStr ( $link, "rapidshare") Link to comment Share on other sites More sharing options...
footswitch Posted September 3, 2007 Share Posted September 3, 2007 But still, I think we should stick to English, for respect. You got that right. Not only for respect, but to keep the post readable. Many people can find themselves lost if languages keep changing for the same post. Especially when they don't understand what's written.I'm from Portugal and I could still understand you if you kept it simple but let's not do that. please lol Link to comment Share on other sites More sharing options...
AL3X Posted September 4, 2007 Author Share Posted September 4, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
footswitch Posted September 4, 2007 Share Posted September 4, 2007 (edited) Hey !!! I made all my exams !!! (L) xDCongrats Now I can spend much more time with this... Ok, I implemented the StringInStr , but I want to do this : $LINE = FileReadLine ("link.txt", $NumeroDeLinea) If StringInStr($LINE, "rapidshare") = 0 Then $NumeroDeLinea = $NumeroDeLinea + 1 Go to the beggining and add 1line to the comand $LINE EndIf How can I do it ? If you knew how many lines you have, you'd use a 'For' statement. Assuming you don't, maybe using a 'While 1' with an ExitLoop will be the best. So you'd have (edited after realising I wasn't including the "rapidshare" filter): ; before the loop: $handle=FileOpen("link.txt",0) ; open the file for reading, this will speed up 'line by line reading' compared to opening the file for each reading $NumeroDeLinea=1 ; assign to the first line While 1 ; this will loop forever UNLESS there's an Exit/ExitLoop for some condition --> End Of File will exit loop $LINE = FileReadLine ($handle, $NumeroDeLinea) ; Special: Sets @error to -1 if end-of-file is reached. If @error==-1 Then ConsoleWrite("End Of File, exiting loop."&@LF) ExitLoop ElseIf StringInStr($LINE, "rapidshare")<>0 Then ; if it is a rapidshare download, then... ; place your downloader here? Else $NumeroDeLinea+=1 ; add one more line and repeat the process EndIf WEnd ; end While FileClose($handle) ; you're advised to close the file after using it. EDIT: I didn't include the "rapidshare" filter in my first reply, but it's there now. Edited September 4, 2007 by footswitch Link to comment Share on other sites More sharing options...
AL3X Posted September 5, 2007 Author Share Posted September 5, 2007 (edited) -- Edited July 2, 2015 by AL3X Link to comment Share on other sites More sharing options...
footswitch Posted September 5, 2007 Share Posted September 5, 2007 WoW !!! xD Thanks !!! Its working !!! :DNow I have to find a way to download the file without using WinWait.... MuouseClick... and so ....I will post the code of the program ( version 1.0 ) when it's done (with GUI) xDInstead of MouseClick, try to use ControlClick. It's more reliable.Use AutoIt window info util (included in autoit package, you can run it from the start menu) to discover the controlID of the buttons you want to click, then use controlclick(...) to click those controls without having to focus the window or move the mouse.You can do the same for input boxes with controlsend. Link to comment Share on other sites More sharing options...
AL3X Posted September 5, 2007 Author Share Posted September 5, 2007 (edited) -- Edited July 2, 2015 by AL3X 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