Jump to content
UBot Underground

Using Ubot to Automate WHM for Creating Website Accounts


Recommended Posts

I have about 100 domains, and I want to build them all out with new websites. But, I want to automate the account creation part, and installing WordPress along with a plugin or two. I'm looking to automate WHM to allow me to fill in data, and append data with a newly-created username/password, select hosting account options, scroll down, and click on create. Then after the account is created, go to cpanel to install WordPress. Then, install plugins with files downloaded to the Windows desktop.

I've made it as far as logging in and clicking to "create account." But, what I want to do is this (there appears to be no function for opening an Excel file in Windows and scraping its data): 

Step 1: Login to WHM

Step 2: Click on Create Account

(I've made it this far in Ubot). 

Next: Open an Excel file - I don't want to use Google Docs for obvious reasons.

Copy/paste a single domain from a list into the domain field in the browser.

Copy/paste a randomly generated username/password for the username/password fields

Scroll down to click on create (or submit...I need to check what the actual button says). 

Repeat this process about 100 times for all domains in the single column list, going to the next cell/row each time (it will be setup in this fashion: domain, username, password)

All other settings don't require a click since I'm leaving them the way they are.

 

Link to post
Share on other sites

Aahhhh, Kreatus - I apologize. Thank you for following up with an explanation. No...I just bought the software a couple months ago and I'm looking to do it on my own and would like help with the process. I will get my code and post it here soon.

 

Edited by TurboCoder2021
Link to post
Share on other sites

This is the code I have been able to generate thus far. It all works - I can login and go to "Create Account." Where I need to go next is filling out the form based on a domain name list in an Excel file (say row 1 has column a, b, c, where a is the Domain, b is the username, c is the password). Create each account according to those parameters, scroll down to click submit to create the account, wait for 20 seconds for it to generate the account, then move on to the next one in row 2. And then, repeat the copy/paste from the Excel sheet per row process and create the accounts per those parameters (without logging in each time). 

I hope I am making sense.

---------- BEGIN CODE ----------

navigate("http://domainname.com/whm/","Wait")
wait(2)
type text(<username field>,"insertusername","Standard")
type text(<password field>,"insertpassword","Standard")
click(<login button>,"Left Click","No")
wait(3)
click(<image="___IMAGE___1___IMAGE___">,"Left Click","No")

---------- END CODE ----------

Link to post
Share on other sites

Try to avoid using image recognition for clicking or typing. 
I know its an option but exhaust other options first.

even using the type text on password 

content to type as {ENTER} will simulate hitting the enter key

 

use lop table total rows
and repeat the process using table cell as the value to use in inputs for the create an account area.

Link to post
Share on other sites
18 hours ago, LoWrIdErTJ - BotGuru said:

Try to avoid using image recognition for clicking or typing. 
I know its an option but exhaust other options first.

even using the type text on password 

content to type as {ENTER} will simulate hitting the enter key

 

use lop table total rows
and repeat the process using table cell as the value to use in inputs for the create an account area.

Thank you, LoWrIdErTJ! I had already exhausted other options but they don't work in that section of WHM. 

However it's coded, it's preventing me from assigning a click action to the area. 

 

Link to post
Share on other sites

This seemed to work for me

ui text box("WHM URL",#whm url)
ui text box("WHM username",#whm username)
ui password("WHM Password",#whm password)
ui open file("CSV Data file",#csv data file)
ui stat monitor("CSV Data formatted","Domain,,,Email<BR>
First column Domain, 2nd and 3rd blank, and 4th is email to use")
clear table(&Table)
create table from file(#csv data file,&Table)
navigate(#whm url,"Wait")
wait for element(<password field>,"","Appear")
type text(<username field>,#whm username,"Standard")
type text(<password field>,#whm password,"Standard")
click(<login button>,"Left Click","No")
wait for element($element offset(<create account link>,0),"","Appear")
set(#row,0,"Global")
loop("Table total rows") {
    click($element offset(<create account link>,0),"Left Click","No")
    wait for element(<name="domain">,"","Appear")
    type text(<name="domain">,$table cell(&Table,#row,0),"Standard")
    set(#username to use,$random text(10),"Global")
    type text(<username field>,#username to use,"Standard")
    set table cell(&Table,#row,1,#username to use)
    click(<id="create_strong_password">,"Left Click","No")
    wait(2)
    set(#pass to use,$scrape attribute(<id="generate_password_input_field">,"value"),"Global")
    wait(2)
    click(<id="generate_password_confirm">,"Left Click","No")
    wait(2)
    click(<innertext="Use Password">,"Left Click","No")
    wait(2)
    type text($element offset(<password field>,0),#pass to use,"Standard")
    type text($element offset(<password field>,1),#pass to use,"Standard")
    set table cell(&Table,#row,2,#pass to use)
    type text($element offset(<email field>,0),$table cell(&Table,#row,3),"Standard")
    click(<id="submit">,"Left Click","No")
    wait(10)
    increment(#row)
    save to file(#csv data file,&Table)
}

 

Link to post
Share on other sites

LowRider - You are awesome. Thank you so much! I am assuming the following: 

I setup the CSV as -

Column 1: Domain
Column 2: Blank
Column 3: Blank
Column 4: Email to Use (e.g. somewebsite at domainname dot com)

In the line: ui open file("CSV Data file",#csv data file)

Where the first "CSV Data file" is the path to the file, right? So... C:\computer\folder1\folder2\folder3\domainlist.csv

Again, thank you, thank you, thank you!

Link to post
Share on other sites
7 hours ago, TurboCoder2021 said:

LowRider - You are awesome. Thank you so much! I am assuming the following: 

I setup the CSV as -

Column 1: Domain
Column 2: Blank
Column 3: Blank
Column 4: Email to Use (e.g. somewebsite at domainname dot com)

In the line: ui open file("CSV Data file",#csv data file)

Where the first "CSV Data file" is the path to the file, right? So... C:\computer\folder1\folder2\folder3\domainlist.csv

Again, thank you, thank you, thank you!

Thats correct on setup and use.

 

Link to post
Share on other sites
11 hours ago, LoWrIdErTJ - BotGuru said:

Thats correct on setup and use.

 

Unfortunately, the code is not working. It could be my error - I may not know where I'm wrong. I have changed the first several fields appropriately. I am using UBot Studio X Professional Edition - version 6.3.9. It also looks like the ui password is black, rather than blue.

Also, I did not go to whm URL first - I think I'm expecting this script to do that. I'm just running the script immediately after opening UBot.

ui text box("https://domainname.com/whm/",#whm url) < ---- changed
ui text box("actualusername",#whm username) < ---- changed
ui password("actualpassword",#whm password) < ---- changed
ui open file("C:\Users\Username\Desktop\Folder1\domainslistfinal.csv",#csv data file) < ---- changed
ui stat monitor("CSV Data formatted","Domain,,,Email<BR>First column Domain, 2nd and 3rd blank, and 4th is email to use")
clear table(&Table)
create table from file(#csv data file,&Table)
navigate(#whm url,"Wait")
wait for element(<password field>,"","Appear")
type text(<username field>,#whm username,"Standard")
type text(<password field>,#whm password,"Standard")
click(<login button>,"Left Click","No")
wait for element($element offset(<create account link>,0),"","Appear")
set(#row,0,"Global")
loop("Table total rows") {
    click($element offset(<create account link>,0),"Left Click","No")
    wait for element(<name="domain">,"","Appear")
    type text(<name="domain">,$table cell(&Table,#row,0),"Standard")
    set(#username to use,$random text(10),"Global")
    type text(<username field>,#username to use,"Standard")
    set table cell(&Table,#row,1,#username to use)
    click(<id="create_strong_password">,"Left Click","No")
    wait(2)
    set(#pass to use,$scrape attribute(<id="generate_password_input_field">,"value"),"Global")
    wait(2)
    click(<id="generate_password_confirm">,"Left Click","No")
    wait(2)
    click(<innertext="Use Password">,"Left Click","No")
    wait(2)
    type text($element offset(<password field>,0),#pass to use,"Standard")
    type text($element offset(<password field>,1),#pass to use,"Standard")
    set table cell(&Table,#row,2,#pass to use)
    type text($element offset(<email field>,0),$table cell(&Table,#row,3),"Standard")
    click(<id="submit">,"Left Click","No")
    wait(10)
    increment(#row)
    save to file(#csv data file,&Table)
}

 

Edited by TurboCoder2021
Link to post
Share on other sites
4 hours ago, LoWrIdErTJ - BotGuru said:

Try using version 5.9.55 ubot.  

It may also be that WHM is using a different interface layout then the one im using.

 

Where did it fail?

 

How do I downgrade? 

Also, I'm using WHM v94.0.4, if that helps. Please see the attached screenshot (should not have any sensitive information). 

Ubot is also not all that helpful at showing where it won't run. It just won't run at all and changes the ui password line to black instead of the same color as the rest of the beginning code.

 

2021-03-26_15-26-53.png

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...