Churchy112 Posted May 27, 2015 Posted May 27, 2015 (edited) Good morning,Apologies if this thread already exists or I've completely missed the answer in a similar thread. I'm new to Autoit since yesterday, albeit that I've had an account for 3 years, I'm only starting to get into it. I am trying to create a script which will read my CSV row by row and create a variable per cell on that row. In my job I'm going to need to fill out a webform 100 times over so I would like to input each variable into my chosen field on this webform and repeat.I've been playing with AutoIT and this is what I've done so far, am I on the right track? I was thinking of using the StringSplit functions but I am a bit clueless to be honest. Any help would be Great to get me started.#include <file.au3> #include <FileConstants.au3> #include <array.au3> _BrowseForFile() Global $aOutput, $FilePath _FileReadToArray ($FilePath,$aOutput,4,",") _ArrayDisplay($aOutput) Func _BrowseForFile() ;Sets $FilePath global $FilePath=FileOpenDialog("Browse for CSV",@DesktopDir,"csv files (*.csv)",$FD_MULTISELECT + $FD_FILEMUSTEXIST) EndFunc Edited May 27, 2015 by Churchy112
water Posted May 27, 2015 Posted May 27, 2015 (edited) Yes, I think you are on the right track.I suggest to drop function _BrowseForFile as a single line function is a lot of overhead.As _FileReadToArray can handle CSV files now you've got a 2D array.You would then need two loops to process each line (outer loop) and each cell in the row (inner loop).Which browser do you use to fill the web form? Edited May 27, 2015 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Churchy112 Posted May 27, 2015 Author Posted May 27, 2015 Thanks for your suggestions.I'll be using Chrome but I can switch to any if more compatible. I'm hoping to apply this to other uses such as iTunes account creation. I work with schools and for every Apple device in school I need to create an Apple ID for it, so thats on average 60 Apple IDs per school .Would you mind giving me a example of the loops that I could have a play with?
water Posted May 27, 2015 Posted May 27, 2015 I'm not sure you need two loops because I assume you process all fields of a reacord (row) and write them to a single web page.So it could look like:For $i = 1 to $aOutput[0][0] ; Write the first field to the web page: $aOutput[$i][0] ; Write the second field to the web page: $aOutput[$i][1] ; ... NextHow to write the data to the web page depends on the browser you use. Easiest is IE (a UDF comes with AutoIt), more complex gets FF etc. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Churchy112 Posted May 27, 2015 Author Posted May 27, 2015 I'm not sure you need two loops because I assume you process all fields of a reacord (row) and write them to a single web page.So it could look like:For $i = 1 to $aOutput[0][0] ; Write the first field to the web page: $aOutput[$i][0] ; Write the second field to the web page: $aOutput[$i][1] ; ... NextHow to write the data to the web page depends on the browser you use. Easiest is IE (a UDF comes with AutoIt), more complex gets FF etc.Thanks! I just need to have a play at the emulation functions and I'll give it a go tomorrow with iTunes form at my school.
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