scatterp Posted September 9, 2007 Share Posted September 9, 2007 HiI am new to autoit i have basic programing experience i was trying to make something that would take a long list of wordsand post them to https://adwords.google.com/select/TrafficEstimatorSandbox i want to select USD = 100 all languages all countrysand have the keyword list in a file (5000 keywords) then i want to download the results as a csv filei am trying to do this from command line can any one help me with this note i am in the freenode irc channel irc://irc.freenode.net/autoit Link to comment Share on other sites More sharing options...
DaleHohm Posted September 9, 2007 Share Posted September 9, 2007 There is a UDF for http(s) - see my sig for a pointer - but unless speed is the primary driver, I would use IE.au3. See the helpfile for examples and look at _IECreate, _IEFormGetObjByName, _IEFormElementSetValue, _IEFormSubmit and _IETableWriteToArray or _IEBodyRead*. 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 Link to comment Share on other sites More sharing options...
Didonet Posted September 9, 2007 Share Posted September 9, 2007 How to use _IEFormSubmit when the page haves 2 submit buttons? Like thins:<script> function proc (){ document.auth.hs.value = hex_h(document.auth.parm.value+document.auth.ht.value); document.auth.parm.value=''; } </script> <form name="auth" method=post action="page" autocomplete="off"> User: <input name="user" type="text" class="search" size=10> Pass: <input name="parm" type="password" size=10> <input type=checkbox name=save onchange=chk()> <font size=1>remember the user and pass</font> <input name="hs" type="hidden"> <input name="p" type="hidden" value="log"> <input name="ht" type="hidden" value=SID> <input name=bsend value="Login" type="submit" onclick=proc()> <input name=bsend value="Logout" type="submit" onclick=proc()> </form> Link to comment Share on other sites More sharing options...
scatterp Posted September 9, 2007 Author Share Posted September 9, 2007 There is a UDF for http(s) - see my sig for a pointer - but unless speed is the primary driver, I would use IE.au3. See the helpfile for examples and look at _IECreate, _IEFormGetObjByName, _IEFormElementSetValue, _IEFormSubmit and _IETableWriteToArray or _IEBodyRead*.DaleHi thanks i am looking in to it can any one provide me with an example how to change my code to use _IEFormSubmit to take data from a txt file and post it to the box ? Link to comment Share on other sites More sharing options...
scatterp Posted September 9, 2007 Author Share Posted September 9, 2007 There is a UDF for http(s) - see my sig for a pointer - but unless speed is the primary driver, I would use IE.au3. See the helpfile for examples and look at _IECreate, _IEFormGetObjByName, _IEFormElementSetValue, _IEFormSubmit and _IETableWriteToArray or _IEBodyRead*.Dalehi i took a look at the udf unfortunately i had already looked at it and did not work out it had https problems and was far more complexed than i could get a grip on what was going on to edit or work with it the IE.au3 seems a better option i was using that in my existing script that i attached Link to comment Share on other sites More sharing options...
scatterp Posted September 9, 2007 Author Share Posted September 9, 2007 heres the code i think needs to change $oIE = _IECreate ("https://adwords.google.com/select/trafficestimatorsandbox?cmd=TrafficEstimatorSandbox&keywords=" & $ret & "¤cy=USD&price=100&budget=&language=*&geoselection=&countryList=*", 0, 1, 1) some how it needs to read in the text file and then fill out the form instead of doing it the way it is also instead of retrieving the text it does it needs to download the csv file expandcollapse popup#include <GuiConstants.au3> #include <IE.au3> #include <String.au3> #include <array.au3> #include <File.au3> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GUICreate;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $endf=0 $addtoold=0 ;<exefilename> -k test $ret = _ReadCmdLine("k"); ; ; read the command line parameters and return value ; ; options are separated by "-" ; Func _ReadCmdLine($switch) If $CmdLine[0] > 0 Then $Cmdopt = StringSplit($CmdLineRaw, "-"); options are separated by "-" ; _ArrayDisplay($Cmdopt, "options") ; start with 2 For $I = 2 To UBound($Cmdopt) - 1; $param = StringLeft($Cmdopt[$I], 1); "f" - 1 char ; value is now rest of switch $value = StringRight($Cmdopt[$I], StringLen($Cmdopt[$I]) - 1); take rest as value $value = StringStripWS($value, 3); ; found it ?? If $param = $switch And $value <> "" Then Return $value EndIf; value F? Next; all params EndIf Return 0; default EndFunc;==>_ReadCmdLine ;GuiCreate("Traffic Estimator", 220, 200,(@DesktopWidth-191)/2, (@DesktopHeight-157)/2) ;$button1 = GuiCtrlCreateButton("Run", 45, 160, 130, 20) ;GuiSetState() While 1 ; $msg = GuiGetMsg() Select ; Case $msg = $GUI_EVENT_PRIMARYUP ; Case $msg = $GUI_EVENT_CLOSE Or $endf = 1 ; ExitLoop Case $ret = $ret $oIE = _IECreate ("https://adwords.google.com/select/trafficestimatorsandbox?cmd=TrafficEstimatorSandbox&keywords=" & $ret & "¤cy=USD&price=100&budget=&language=*&geoselection=&countryList=*", 0, 1, 1) _IELoadWait ($oIE) $Line = _IEDocReadHTML($oIE) _IEQuit ( $oIE ) $Start = StringInStr($Line,"<TABLE class=report") $End = StringInStr($Line,"<TBODY></TBODY></TABLE>") - $Start $HtmlTag = StringMid($Line,$Start,$End) $Start = StringInStr($HtmlTag,"noWrap align=right>") + 18 $End = StringInStr($HtmlTag,"<TR bg") - $Start -11 $HtmlTag = StringMid($HtmlTag,$Start,$End) $HtmlTag = StringReplace($HtmlTag,"<TD noWrap align=right>","") $HtmlTag = StringReplace($HtmlTag,"<TD","") $HtmlTag = StringReplace($HtmlTag,"<TR","") $HtmlTag = StringReplace($HtmlTag,"<TH","") $HtmlTag = StringReplace($HtmlTag,"</TH","") $HtmlTag = StringReplace($HtmlTag,"</TR","") $HtmlTag = StringReplace($HtmlTag,"</TD","") $HtmlTag = StringReplace($HtmlTag,"<","") $HtmlTag = StringReplace($HtmlTag,">","") $HtmlTag = StringReplace($HtmlTag,"vAlign=center bgColor=#e8e8cf","") $HtmlTag = StringReplace($HtmlTag,"align=leftSearch Network Total","") $HtmlTag = StringReplace($HtmlTag,"noWrap align=right","") $HtmlTag = StringReplace($HtmlTag,"align=right ","") ;~ $HtmlTag = StringReplace($HtmlTag,"<TR>","<TR><TD>" & $Item & "</TD><TD>" & $Stroke & "</TD><TD>" & $Colour & "</TD><TD>" & $Size & "</TD><TD>M&S Requirement</TD>" & "<TD>"& _NowDate() &"</TD>") ;~ $Line = StringMid($Line,$Start+$End) ;~ $Html = $Html & $HtmlTag $file = FileOpen("test.txt", 1) ; Check if file opened for writing OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf FileWriteLine($file, $HtmlTag & @CRLF) FileClose($file) Exit ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OpenPage;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; EndSelect WEnd Link to comment Share on other sites More sharing options...
Didonet Posted September 9, 2007 Share Posted September 9, 2007 How to use _IEFormSubmit when the page haves 2 submit buttons? Like thins: <script> function proc (){ document.auth.hs.value = hex_h(document.auth.parm.value+document.auth.ht.value); document.auth.parm.value=''; } </script> <form name="auth" method=post action="page" autocomplete="off"> User: <input name="user" type="text" class="search" size=10> Pass: <input name="parm" type="password" size=10> <input type=checkbox name=save onchange=chk()> <font size=1>remember the user and pass</font> <input name="hs" type="hidden"> <input name="p" type="hidden" value="log"> <input name="ht" type="hidden" value=SID> <input name=bsend value="Login" type="submit" onclick=proc()> <input name=bsend value="Logout" type="submit" onclick=proc()> </form>??? Link to comment Share on other sites More sharing options...
DaleHohm Posted September 9, 2007 Share Posted September 9, 2007 ???Please read the "Remarks" for the _IESubmit function. It tells you how to deal with two Submit buttons.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 Link to comment Share on other sites More sharing options...
DaleHohm Posted September 9, 2007 Share Posted September 9, 2007 It sure looks like your code with all the StringReplace's could be done a whole lot easier with _IETableWriteToArray 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 Link to comment Share on other sites More sharing options...
scatterp Posted September 9, 2007 Author Share Posted September 9, 2007 It sure looks like your code with all the StringReplace's could be done a whole lot easier with _IETableWriteToArrayDalecould you help me with this ? Link to comment Share on other sites More sharing options...
Didonet Posted September 9, 2007 Share Posted September 9, 2007 OK, Dale, now show me here how to submit the button? I even don't have a $oForm... $oIE = _IECreateEmbedded() GUICreate("login", 600, 400, 0, 0); GUICtrlCreateObj($oIE,-1,-1,630,570) GUISetState() _IENavigate ($oIE, "http://site.com/") $oUser=_IEGetObjById($oIE,"user") $oPass=_IEGetObjById($oIE,"parm") _IEFormElementSetValue ($oUser, $username) _IEFormElementSetValue ($oPass, $password) _IEFormSubmit($oIE, 0) Do not works... The site form is up in this page... Link to comment Share on other sites More sharing options...
Didonet Posted September 9, 2007 Share Posted September 9, 2007 Is it possible when i use GUI IE to click on a subbmit button? Because with Send() isn't very good way... Link to comment Share on other sites More sharing options...
DaleHohm Posted September 9, 2007 Share Posted September 9, 2007 @Dido_Net - please start a new thread for your question. It is not related to scatterp's question and makes replies very confusing @scatterp - have you worked through the _IETableWriteToArray examples in th helpfile? What don't you understand? 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 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