Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # TO USE THIS YOU MUST HAVE A FILE NAMED osinfo.txt LOCATED AT C:\Python33\Projects\osinfo.txt
- # ALSO YOU MUST HAVE SELENIUM WEBDRIVER INSTALLED. FOLLOW THE INSTRUCTIONS ON THE WEBSITE.
- # YOU WILL PROBABLY NEED PIP INSTALLED FOR THE SETUP TOOLS TO WORK. MAKE SURE PYTHON IS IN YOUR "PATH"
- # ENVIRONMENT VARIABLE
- from selenium import webdriver
- from selenium.webdriver.common.keys import Keys
- from time import sleep
- URL = 'http://openstudy.com/users/{user}#/users/{user}/asked'
- OS_INFO_PATH = 'C:/python33/projects/osinfo.txt'
- USER = 'tryingtoplaynice'
- def str_generator(size=10, chars=string.ascii_uppercase + string.digits):
- return ''.join(random.choice(chars) for _ in range(size))
- def account_creator():
- for i in range (0, 10):
- osinfo = open('C:\Python33\Projects\osinfo.txt','a+')
- osid = str_generator()
- ospswd = str_generator()
- osemail = str_generator()
- osinfo.write('\n' + osid + ',' + ospswd + ',' + osemail)
- osinfo.close()
- #create a random username and random password and record them
- #fill out the form for signup and accept!
- driver = webdriver.Firefox()
- driver.get("http://www.openstudy.com/signup")
- login_id = driver.find_element_by_id('signup-username')
- login_id.send_keys(osid)
- email_id = driver.find_element_by_id('signup-email')
- email_id.send_keys(osemail + '@gmail.com')
- password_id = driver.find_element_by_id('signup-password')
- password_id.send_keys(ospswd)
- agreement_id = driver.find_element_by_id('agree-to-terms')
- agreement_id.click()
- signup = driver.find_element_by_class_name('submit-button')
- signup.click()
- driver.close()
- class Reporter(object):
- def __init__(self, driver, username, password, email, wait_time=None):
- self.driver = driver
- self.username = username
- self.password = password
- self.email = email
- self.wait_time = wait_time or 5
- def report(self, user_to_report):
- self.driver.get(URL.format(user=user_to_report))
- self.driver.find_element_by_class_name('update-link').click()
- for elem_id, key in (('username', self.username), ('password', self.password)):
- self.driver.find_element_by_id(elem_id).send_keys(key)
- self.driver.find_element_by_xpath("//*[@*='Log In']").click()
- sleep(self.wait_time)
- self.driver.find_element_by_class_name('report-abuse').click()
- sleep(2)
- self.driver.find_element_by_xpath("//*[@*='Submit Report']").click()
- self.driver.close()
- self.driver.quit()
- def have_fun(os_info_path=OS_INFO_PATH):
- with open(os_info_path, 'r') as f:
- lines = list(f.readlines())[:3]
- for line in lines:
- reporter = Reporter(webdriver.Firefox(), *line.strip().split(','))
- reporter.report(USER)
- del reporter
- account_creator()
- have_fun()
- open('C:\Python33\Projects\osinfo.txt', 'w').writelines(lines[5:])
Advertisement
Add Comment
Please, Sign In to add comment