Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pickle
- import glob
- from selenium import webdriver
- from selenium.webdriver.chrome.options import Options
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.firefox.webdriver import FirefoxProfile
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.common.exceptions import StaleElementReferenceException, NoSuchElementException, NoSuchWindowException
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support.ui import Select
- import time
- import os
- import sys
- import winsound
- from os import listdir
- from os.path import isfile, join
- import requests
- def soundTTS(sound):
- winsound.PlaySound('%s.mp3' % sound, winsound.SND_FILENAME)
- winsound.PlaySound('%s.mp3' % sound, winsound.SND_FILENAME)
- winsound.PlaySound('%s.mp3' % sound, winsound.SND_FILENAME)
- def getAccList(filename):
- accsFile = open(filename, 'r').read()
- return accsFile.split(chr(10))
- def countdownSleeper(count):
- for i in xrange(count,0,-1):
- time.sleep(1)
- print "-> " + str(i)
- def GetNumAccounts(accs_file): # Return Number of Accounts
- num_accs = sum(1 for line in open(accs_file))
- return num_accs
- def GetImageFile(index):# Return Number of Accounts
- onlyfiles = [f for f in listdir('imgs') if isfile(join('imgs', f))]
- return 'imgs\\' + onlyfiles[index]
- def removeUserLine(line):
- f = open("input.txt","r+")
- d = f.readlines()
- f.seek(0)
- for i in d:
- if i != line + "\n":
- f.write(i)
- f.truncate()
- f.close()
- def switchToChallengeFrame(drv, e, u, num, indexSWCF, accsnumberSWCF):
- try:
- content_iframe = '#recaptcha-anchor'
- drv.switch_to_frame(drv.find_element_by_tag_name(e))
- elem_captcha = drv.find_element_by_css_selector(content_iframe)
- elem_captcha.click()
- time.sleep(1)
- soundTTS('imready')
- findChallenge(drv, u, indexSWCF, accsnumberSWCF)
- except NoSuchElementException:
- time.sleep(1)
- if num < 5:
- num = num + 1
- switchToChallengeFrame(drv, e, u, num, indexSWCF, accsnumberSWCF)
- def findChallenge(drv, user, index, accsnumber):
- try:
- content_success = 'span#recaptcha-anchor.recaptcha-checkbox-checked'
- drv.find_element_by_css_selector(content_success)
- except NoSuchElementException:
- print '[' + str(index+1) + ' of ' + str(accsnumber) + '] Waiting for Challenge => ' + user
- time.sleep(1)
- findChallenge(drv, user, index, accsnumber)
- def findAuthorizeLoaded(drv, user, i, wait):
- time.sleep(wait)
- try:
- elem_authorize = drv.find_element_by_css_selector('button.button.primary.button')
- time.sleep(0.5)
- elem_authorize.click()
- findOAUTH(drv, user, i)
- except NoSuchElementException:
- time.sleep(1)
- findAuthorizeLoaded(drv, user, i, wait)
- except StaleElementReferenceException:
- time.sleep(1)
- findAuthorizeLoaded(drv, user, i, wait)
- def WriteLineToFile(data):
- with open('output.txt','a') as f:
- f.write("{}\n".format(data))
- f.close()
- def findOAUTH(drv, u, i):
- try:
- oauth_elem = drv.find_element_by_css_selector('input#oauth2merge.span9')
- acc = u + ':oauth:' + oauth_elem.get_attribute('value')
- print 'Account => ' + acc
- WriteLineToFile(acc)
- time.sleep(1)
- goSettings(drv, u, i)
- except NoSuchElementException:
- time.sleep(1)
- findOAUTH(drv, u, i)
- except StaleElementReferenceException:
- time.sleep(1)
- findOAUTH(drv, u, i)
- def goSettings(drv, u, i):
- try:
- drv.get("https://www.twitch.tv/settings")
- time.sleep(3)
- accname = drv.find_element_by_css_selector('input#user_displayname')
- accname.clear()
- accname.send_keys(u)
- setProfileImage(drv, i, u)
- except NoSuchElementException:
- time.sleep(1)
- goSettings(drv, u, i)
- def setProfileImage(drv, i, user):
- try:
- imagePath = os.path.abspath(GetImageFile(i))
- imageField = drv.find_element_by_css_selector('input#user_profile_image')
- imageField.clear()
- imageField.send_keys(imagePath)
- save = drv.find_element_by_css_selector('button#user_settings_submit')
- save.click()
- time.sleep(5)
- os.remove(imagePath)
- removeUserLine(user)
- time.sleep(3)
- drv.close()
- except NoSuchElementException:
- time.sleep(1)
- setProfileImage(drv, i)
- def setMDY(driver, selector, option):
- try:
- select = Select(driver.find_element_by_css_selector(selector))
- select.select_by_visible_text(option)
- except NoSuchElementException:
- time.sleep(1)
- print 'Script executed for the date'
- driver.execute_script("document.querySelector('select[name=\"birthday.month\"] > [value=\"8\"]').selected = true; document.querySelector('select[name=\"birthday.day\"] > [value=\"31\"]').selected = true; document.querySelector('select[name=\"birthday.year\"] > [value=\"1990\"]').selected = true; ")
- def getDriver(num, p1, p2, p3):
- if (num == 1):
- print 'INFO: Using Proxy 1'
- driver = webdriver.Chrome(executable_path='C:\Python27\Scripts\chromedriver.exe')
- return driver
- else:
- if (num == 2):
- print 'INFO: Using Proxy 2'
- driver = webdriver.Chrome(executable_path='C:\Python27\Scripts\chromedriver.exe', chrome_options=p1)
- return driver
- else:
- if (num == 3):
- print 'INFO: Using Proxy 3'
- driver = webdriver.Chrome(executable_path='C:\Python27\Scripts\chromedriver.exe', chrome_options=p2)
- return driver
- def ClickDatButton(d, elem):
- try:
- d.switch_to.default_content()
- elem_login = d.find_element_by_css_selector(elem)
- time.sleep(1)
- elem_login.click()
- except NoSuchElementException:
- time.sleep(1)
- ClickDatButton(d, elem)
- except StaleElementReferenceException:
- print 'Do not click on this button manually!'
- def checkStatusCode(c):
- if (int(c) == 200):
- print 'Please wait...'
- else:
- time.sleep(1)
- checkStatusCode(c)
- def getCIR(cid, d, counter):
- c = counter
- r = requests.get('http://2captcha.com/res.php?key=f992c9894d4dbe1bd4179760b2703278&action=get&id='+cid)
- #checkStatusCode(r.status_code)
- resp = r.text
- if(c > 19):
- getCID(d)
- else:
- c = c + 1
- if(resp == "CAPCHA_NOT_READY"):
- print 'Please wait, captcha not solved yet...'
- time.sleep(5)
- getCIR(cid, d, c)
- else:
- data = resp.split("|")
- if (data[0] == "OK"):
- print 'Captcha code acquire successfully!'
- d.execute_script("document.getElementById('g-recaptcha-response').value = '"+data[1]+"';")
- else:
- print 'An error has been occurred: ' + data[0]
- time.sleep(5)
- getCID(d)
- def getCID(d):
- r = requests.get('http://2captcha.com/in.php?key=f992c9894d4dbe1bd4179760b2703278&method=userrecaptcha&googlekey=6Ld65QcTAAAAAMBbAE8dkJq4Wi4CsJy7flvKhYqX')
- resp = r.text
- data = resp.split("|")
- if (data[0] == "OK"):
- print 'Captcha ID acquire successfully, getting captcha code...'
- time.sleep(5)
- getCIR(data[1], d, 0)
- else:
- print 'Please wait, getting captcha id...'
- time.sleep(5)
- getCID(d)
- def Go2Page(u, p, i, p1, p2, p3, it):
- #Referential Var
- itref = it
- #Setup Chrome Driver
- driver = getDriver(it, p1, p2, p3)
- if (it == 3):
- itref = 1
- else:
- itref = itref + 1
- #Open Page and Begin
- driver.get("https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=f6kmpmaak0do2mmb9ho8qd5l435stou&redirect_uri=http://www.sao-shopping.comxa.com/reborn.php&scope=chat_login+user_follows_edit")
- time.sleep(2)
- ClickDatButton(driver, 'li#signup_tab > a')
- time.sleep(3)
- elem_user = driver.find_element_by_css_selector('input#username.text')
- elem_pass = driver.find_element_by_css_selector('input#password.text')
- elem_mail = driver.find_element_by_name('email')
- elem_user.send_keys(u)
- elem_pass.send_keys(p)
- elem_mail.send_keys('justonerandomdude@gmail.com')
- setMDY(driver, 'div.dropdown.month_contain > select', 'August')
- setMDY(driver, 'div.dropdown.day_contain > select', '31')
- setMDY(driver, 'div.dropdown.year_contain > select', '1990')
- driver.execute_script("document.getElementsByTagName('DIV')[26].style.display = 'none'; document.getElementById('g-recaptcha-response').style.display = 'block'; document.getElementsByTagName('DIV')[27].style.marginTop = '70px';")
- getCID(driver)
- elem_login = driver.find_element_by_css_selector('button.primary.button.js-signup-button')
- time.sleep(1)
- elem_login.click()
- findAuthorizeLoaded(driver, u, i, 6)
- #Restart Process
- i = i + 1
- accsSplit = getAccList('input.txt')
- Go2Page(accsSplit[0], 'dark3108', i, p1, p2, p3, itref)
- index_ref = 1
- accsSplit = getAccList('input.txt')
- proxy1 = Options()
- proxy1.add_extension("proxy1.zip")
- proxy2 = Options()
- proxy2.add_extension("proxy2.zip")
- proxy3 = Options()
- proxy3.add_extension("proxy3.zip")
- Go2Page(accsSplit[0], 'dark3108', 0, proxy1, proxy2, proxy3, index_ref)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement