Jump to content

Recommended Posts

Posted

In python, because of course:

 

pip install selenium

or seeing as we hack https:

pip --cert C:\surfprotect.crt install selenium

 

create a folder, copy https://sites.google.com/a/chromium.org/chromedriver/ into it.

 

Then write some code like this, to log into a Ricoh photocopier's GCP app and add users and pin codes (no API for this that I can find), and save it in the same folder:

 

from selenium import webdriver
email = "[email protected]"
pin = "9999"
photocopier_password = "easilyhacked"

URL = 'http://192.168.0.2/googlecloudprint'
driver = webdriver.Chrome()
driver.get(URL)
username = driver.find_element_by_id('admin_user_name')
username.send_keys('admin')
password = driver.find_element_by_id('password')
password.send_keys(photocopier_password)
password.submit()


driver.find_element_by_id('menu_item_4').click()
driver.find_element_by_id('create_new_mapping_btn').click()

username = driver.find_element_by_id('ga_input_new')
username.send_keys(email)
code = driver.find_element_by_id('uc_input_new')
code.send_keys(pin)
code.submit()
driver.quit();

Posted

Today's website is Educare, was slightly annoying as the forms weren't forms, and the element ids changed

 

# Logs into Educare and adds users

from selenium import webdriver
import sys, argparse


def create_new_user(driver, url, admin_user_name, admin_password, email, firstname, surname):
   # Call with a selenium driver, the url of the Educare login web page, admin user/pass, and email/name to add
   # Doesn't record failures, if user exists may silently ignore.
   driver.get(url)
   print("connected to",url)
   username = driver.find_element_by_id('username')
   username.send_keys(admin_user_name)
   
   password = driver.find_element_by_id('password')
   password.send_keys(admin_password)
   password.submit()
   print("logged in")

   driver.get('https://www.myeducare.com/blocks/educare_ssoclient/view.php')
   # click New
   new_button = driver.find_element_by_xpath('//*[@id="example_wrapper"]/div[1]/button[1]/span')
   new_button.click()

   username_id = driver.find_element_by_id('DTE_Field_email')
   username_id.send_keys(email)

   firstname_id = driver.find_element_by_id('DTE_Field_firstname')
   firstname_id.send_keys(firstname)
   surname_id = driver.find_element_by_id('DTE_Field_lastname')
   surname_id.send_keys(surname)

   username_id = driver.find_element_by_id('DTE_Field_username')
   username_id.send_keys(email)

   # find create button                                              
   create_id = driver.find_element_by_xpath("//*[contains(text(), 'Create') and contains(@class, 'btn')]")
   create_id.click()
   print("added user")

parser = argparse.ArgumentParser(description='automate')
parser.add_argument('--notheadless', default=False, action='store_true', help='username to log in to photocopier')
parser.add_argument('-u', '--username', dest='admin_user_name',default='admin', help='username to log in to photocopier')
parser.add_argument('-p', '--password', dest='admin_password', required=True, help='password to log in to photocopier')
parser.add_argument('-e', '--email', required=True, help='email address to use as username and email')
parser.add_argument('-c', '--firstname', required=True)
parser.add_argument('-l', '--surname', required=True)

# list of locations and urls, change as required
args = parser.parse_args()
args = vars(args)
print(args)
#sys.exit()

# don't forget to install chromedriver
#driver = webdriver.Chrome()
chrome_options = webdriver.ChromeOptions()
if not args['notheadless']:
   chrome_options.add_argument('headless')
driver = webdriver.Chrome(options=chrome_options)
url = 'https://www.myeducare.com/local/educare/login.php'
create_new_user(driver, url, args['admin_user_name'], args['admin_password'], args['email'], args['firstname'], args['surname'])


driver.quit();

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 account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...