|
from selenium import webdriver |
|
import csv |
|
import getpass |
|
|
|
|
|
# create new instance of Firefox driver |
|
browser = webdriver.Firefox() |
|
# go to First Ipswich Bank website |
|
browser.get("https://ssl.selectpayment.com/mp/fnbicom/login/page.aspx") |
|
# Fill out login credentials (username, password, company name) |
|
userbox1 = browser.find_element_by_name("ctl01$Login$LoginScreen$tbUsername") |
|
userbox1.send_keys("*****") |
|
passwordbox = browser.find_element_by_name("ctl01$Login$LoginScreen$tbPassword") |
|
bankpassword = "********" |
|
passwordbox.send_keys(bankpassword) |
|
companybox = browser.find_element_by_name("ctl01$Login$LoginScreen$tbLoginCompany") |
|
companybox.send_keys("******") |
|
loginbutton = browser.find_element_by_class_name("button") |
|
loginbutton.click() |
|
# Navigate to new user webform |
|
adminlink = browser.find_element_by_link_text("Admin") |
|
adminlink.click() |
|
adduserlink = browser.find_element_by_link_text("Add User") |
|
adduserlink.click() |
|
|
|
# Read new user data from spreadsheet and use data to fill in web form boxes |
|
try: |
|
with open("test.csv", "r") as consultantlist: |
|
consultantlistreader = csv.reader(consultantlist, delimiter=",") |
|
exampledata = list(consultantlistreader) |
|
rownum = 1 |
|
colnum = 0 |
|
passwordlist = [] |
|
while rownum <= len(exampledata): |
|
for item in exampledata: |
|
fullnamebox = browser.find_element_by_name("ctl01$ctl06$editInfo$tbFullName") |
|
fullnamebox.send_keys(exampledata[rownum][colnum]) |
|
colnum += 1 |
|
usernamebox = browser.find_element_by_name("ctl01$ctl06$editInfo$tbUsername") |
|
usernamebox.send_keys(exampledata[rownum][colnum]) |
|
colnum+= 1 |
|
emailaddressbox = browser.find_element_by_name("ctl01$ctl06$editInfo$tbEmailAddress") |
|
emailaddressbox.send_keys(exampledata[rownum][colnum]) |
|
rownum += 1 |
|
colnum = 0 |
|
password = browser.find_element_by_class_name("labelData") |
|
passwordlist.append(password.text) |
|
print(passwordlist) |
|
custservcheck = browser.find_element_by_name("ctl01$ctl06$editInfo$UserRoles$ctl02$Enabled") |
|
custservcheck.click() |
|
updatebutton = browser.find_element_by_name("ctl01$ctl06$btnUpdate") |
|
updatebutton.click() |
|
mobilebutton = browser.find_element_by_name("ctl01$ctl06$editGroups$RoleRepeater$ctl00$editGroupsInRole$UserGroupsInRole$ctl04$Enabled") |
|
mobilebutton.click() |
|
locationbutton = browser.find_element_by_name("ctl01$ctl06$editLocations$gridUserLocations$ctl02$Enabled") |
|
locationbutton.click() |
|
finalupdatebutton = browser.find_element_by_name("ctl01$ctl06$btnUpdate") |
|
finalupdatebutton.click() |
|
listrolesbutton = browser.find_element_by_link_text("List Roles") |
|
listrolesbutton.click() |
|
adduserbutton = browser.find_element_by_link_text("Add User") |
|
adduserbutton.click() |
|
# Take password list and export to passwordlist csv |
|
if rownum == len(exampledata): |
|
with open('passwordlist.csv','w') as passwordcsv: |
|
mywriter = csv.writer(passwordcsv) |
|
mywriter.writerows([passwordlist]) |
|
passwordcsv.close() |
|
consultantlist.close() |
|
browser.quit() |
|
except Exception as e: |
|
print("There's been an exception. Printing temp password list to screen and csv output: [%s]" % ', '.join(map(str, passwordlist))) |
|
with open('passwordlist.csv','w') as passwordcsv: |
|
mywriter = csv.writer(passwordcsv) |
|
mywriter.writerows([passwordlist]) |
|
passwordcsv.close() |
|
consultantlist.close() |
|
browser.quit() |