[iMacros] G-mail New Account Form Filler

Here is an imacros script that will populate all required filds
on create new gmail page. Its written and tested for Firefox.

FEATURES >

– Uses “InputData.csv” file to fill first and last name and its only required data you have to suply.
– Gmail username is generarated from first and last name data plus random number in between.
– Password is set to 12 characters and script generates strong password.
– Birthday is also generated and filled randomly.
– Gender has to be fixed set within script (read comment for gender inside script)
– Mobile phone is commented so it doesnt affect script execution. Uncomment if you need it.
– Filled account data is saved in your iMacros “Downloads” folder with default name “extract.csv” in CSV format –> “Firstname456Lastname”,”mjZG3J1w5gPD”.

HOW TO USE >

1. Create file “InputData.csv” in default imacros directory “Datasources” in CSV format with first and last name –> “Firstname”,”Lastname”.

2. Create imacros file in default folder “Macros” and copy script in it. Name it whatever you like with .iim extension.

3. Edit iMacros script to your liking. Set gender if you need. Last line of script is commented also, so if you just want to test script without actual creation of account leave it commented. When youre ready to create email you can uncomment it so it will submit your application.

4. Start your macro from firefox.

S C R I P T >>>[sociallocker]

Code:
VERSION BUILD=8601111 RECORDER=FX
SET !ERRORIGNORE YES
SET !EXTRACT_TEST_POPUP NO
SET !DATASOURCE InputData.csv
SET !DATASOURCE_LINE 1
TAB T=1
'TAB CLOSEALLOTHERS
URL GOTO=https://accounts.google.com/SignUp?service=mail&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fpc%3Dtopnav-about-en
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:createaccount ATTR=ID:FirstName CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:createaccount ATTR=ID:LastName CONTENT={{!COL2}}
SET randomNumber0 EVAL("var min = 100; var max = 999; var randomNumber0 = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber0;")
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:createaccount ATTR=ID:GmailAddress CONTENT={{!COL1}}{{randomNumber0}}{{!COL2}}
SET !VAR1 EVAL("var letters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9']; var string = ''; for(var i = 0; i < 12; i++){string += letters[parseInt(Math.random() * 60)]}; string")
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:createaccount ATTR=ID:Passwd CONTENT={{!VAR1}}
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:createaccount ATTR=ID:PasswdAgain CONTENT={{!VAR1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:createaccount ATTR=ID:GmailAddress EXTRACT=TXT
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:createaccount ATTR=ID:Passwd EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=*
SET randomNumber1 EVAL("var min = 1; var max = 28; var randomNumber1 = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber1;")
SET randomNumber2 EVAL("var min = 1970; var max = 1995; var randomNumber2 = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber2;")
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:createaccount ATTR=ID:BirthDay CONTENT={{randomNumber1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:createaccount ATTR=ID:BirthYear CONTENT={{randomNumber2}}
'TAG POS=1 TYPE=INPUT:TEL FORM=ID:createaccount ATTR=ID:RecoveryPhoneNumber CONTENT=+999999999999
SET randomNumber3 EVAL("var min = 1; var max = 12; var randomNumber3 = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber3;")
SET monthNum {{randomNumber3}}
SET monthSlc EVAL("var s = '{{monthNum}}'; switch ('{{monthNum}}') {case '10': s = 'a'; break; case '11': s = 'b'; break; case '12': s = 'c'; break;} '#\\\\:' + s + '>DIV';")
SET listSlc "#BirthMonth>DIV>DIV:nth-of-type(2)"
EVENT TYPE=MOUSEDOWN SELECTOR={{listSlc}} BUTTON=0
EVENT TYPE=MOUSEUP SELECTOR={{listSlc}} BUTTON=0
EVENT TYPE=MOUSEDOWN SELECTOR={{monthSlc}} BUTTON=0
EVENT TYPE=MOUSEUP SELECTOR={{monthSlc}} BUTTON=0
' e - Female, f - Male, g - Other
SET gender e
SET genderSlc #\:{{gender}}>DIV
EVENT TYPE=CLICK SELECTOR="#Gender>DIV" BUTTON=0
EVENT TYPE=CLICK SELECTOR={{genderSlc}} BUTTON=0
WAIT SECONDS=1
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:createaccount ATTR=ID:submitbutton
WAIT SECONDS=1
TAG POS=1 TYPE=IMG ATTR=SRC:https://www.gstatic.com/images/icons/material/system/2x/keyboard_arrow_down_white_24dp.png
WAIT SECONDS=1
'TAG POS=1 TYPE=INPUT:BUTTON ATTR=ID:iagreebutton
[/sociallocker]