Advertisement
Guest User

Untitled

a guest
Dec 29th, 2018
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.48 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. from selenium.webdriver.chrome.options import Options
  4. from selenium.webdriver.support import expected_conditions as EC
  5. from selenium.webdriver.support.ui import WebDriverWait
  6. from selenium.webdriver.common.by import By
  7.  
  8. from random import choice, randint, random
  9. from time import sleep, time
  10. from bs4 import BeautifulSoup
  11. from random import choice
  12. from time import sleep
  13. from bs4 import BeautifulSoup
  14. import requests, csv, sys, zipfile, json
  15.  
  16. import faker
  17. fake_names = faker.Faker()
  18.  
  19.  
  20. WINDOW_X, WINDOW_Y = 1100, 800
  21.  
  22. def my_proxy(PROXY_HOST,PROXY_PORT, username, password): # PROXY_HOST,PROXY_PORT
  23. if username:
  24. manifest_json = """
  25. {
  26. "version": "1.0.0",
  27. "manifest_version": 2,
  28. "name": "Chrome Proxy",
  29. "permissions": [
  30. "proxy",
  31. "tabs",
  32. "unlimitedStorage",
  33. "storage",
  34. "<all_urls>",
  35. "webRequest",
  36. "webRequestBlocking"
  37. ],
  38. "background": {
  39. "scripts": ["background.js"]
  40. },
  41. "minimum_chrome_version":"22.0.0"
  42. }
  43. """
  44.  
  45. background_js = """
  46. var config = {
  47. mode: "fixed_servers",
  48. rules: {
  49. singleProxy: {
  50. scheme: "http",
  51. host: '%s',
  52. port: parseInt('%s')
  53. },
  54. bypassList: ["foobar.com"]
  55. }
  56. };
  57.  
  58. chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
  59.  
  60. function callbackFn(details) {
  61. return {
  62. authCredentials: {
  63. username: '%s',
  64. password: '%s'
  65. }
  66. };
  67. }
  68.  
  69. chrome.webRequest.onAuthRequired.addListener(
  70. callbackFn,
  71. {urls: ["<all_urls>"]},
  72. ['blocking']
  73. );
  74. """% (PROXY_HOST, PROXY_PORT, username, password)
  75.  
  76. pluginfile = 'proxy_auth_plugin.zip'
  77.  
  78. with zipfile.ZipFile(pluginfile, 'w') as zp:
  79. zp.writestr("manifest.json", manifest_json)
  80. zp.writestr("background.js", background_js)
  81.  
  82. co = Options()
  83. co.add_argument("--start-maximized")
  84. co.add_extension(pluginfile)
  85. else:
  86. co = webdriver.ChromeOptions()
  87. co.add_argument('--proxy-server=%s' % PROXY_HOST+":"+PROXY_PORT)
  88.  
  89. co.add_argument('--disable-gpu')
  90. co.add_argument('--log-level=3')
  91. #co.add_argument('--headless')
  92. co.add_experimental_option("prefs", {"profile.managed_default_content_settings.images":2})
  93.  
  94. driver = webdriver.Chrome("C:/python/chromedriver.exe", chrome_options=co)
  95. return driver
  96.  
  97. _WebDriverWait = WebDriverWait
  98. def WebDriverWait(driver, time):
  99. try:
  100. error_view = driver.find_element_by_xpath("//div[@id='nike-unite-error-view']")
  101. except:
  102. return _WebDriverWait(driver, time)
  103. else:
  104. if error_view.is_displayed():
  105. raise NameError("Communication error.")
  106. else:
  107. return _WebDriverWait(driver, time)
  108.  
  109. def main():
  110. try:
  111. base_url = 'https://www.nike.com/us/en_us/s/register'
  112. proxy_list = []#'83.149.70.159:13010']
  113.  
  114. if len(proxy_list) > 0:
  115. proxy = choice(proxy_list) # random choice of proxy
  116. split = proxy.split(':')
  117. proxy_host, proxy_port = split[0], split[1]
  118. if len(split) != 2:
  119. username, password = split[2], split[3]
  120. else:
  121. username, password = False, False
  122. driver = my_proxy(proxy_host, proxy_port, username, password)
  123. else:
  124. co = webdriver.ChromeOptions()
  125. co.add_argument('--disable-gpu')
  126. co.add_argument('--log-level=3')
  127. #co.add_argument('--headless')
  128. co.add_experimental_option("prefs", {"profile.managed_default_content_settings.images":2})
  129.  
  130. driver = webdriver.Chrome("C:/python/chromedriver.exe", chrome_options=co)
  131. fname = fake_names.name().split(' ')[0]
  132. lname = fake_names.name().split(' ')[1]
  133. randy = choice(['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'])
  134.  
  135. email1 = fname + lname + randy+ fname+choice(['@gmail.com','@yahoo.com','@hotmail.com'])
  136. EMAIL = email1
  137.  
  138. day = choice(['01','02','03','04','05','06','07','08'])
  139. year = choice(['1998', '1996', '1997', '1995', '1992','2000','1999'])
  140. month = choice(['01','02','03','04'])
  141.  
  142. BIRTHDAY = year+"-"+month+"-"+day #yyyy-MM-dd
  143. DOB = day+month+Keys.RIGHT+year
  144. gender = choice(["//*[text()='Male']","//*[text()='Female']"])
  145. driver.set_window_size(WINDOW_X, WINDOW_Y)
  146. driver.get(base_url) # browser gets the url
  147. enter = Keys.RETURN
  148. src = driver.page_source
  149. start = int(time())
  150. try:
  151. WebDriverWait(driver, 1).until(EC.element_to_be_clickable((By.XPATH, "//*[text()='Yes, I Accept']"))).click()
  152. except:
  153. pass
  154.  
  155. WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "emailAddress", " " ))]//input'))).send_keys(EMAIL)
  156. WebDriverWait(driver, 60).until(EC.element_to_be_clickable((By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "passwordCreate", " " ))]//input'))).send_keys('Pass12345')
  157.  
  158. WebDriverWait(driver, 60).until(EC.element_to_be_clickable((By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "firstName", " " ))]//input'))).send_keys(fname)
  159.  
  160. WebDriverWait(driver, 60).until(EC.element_to_be_clickable((By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "lastName", " " ))]//input'))).send_keys(lname)
  161. sleep(3)
  162. WebDriverWait(driver, 60).until(EC.element_to_be_clickable((By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "dateOfBirth", " " ))]//input'))).send_keys(DOB)
  163.  
  164. WebDriverWait(driver, 60).until(EC.element_to_be_clickable((By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "lastName", " " ))]//input'))).send_keys(Keys.TAB+Keys.TAB+Keys.TAB+Keys.TAB+Keys.TAB+Keys.RETURN)
  165.  
  166. WebDriverWait(driver, 60).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="9089e5e2-dd62-42ea-9fa8-b0c6a7b024ed"]'))).click()
  167.  
  168. sleep(5)
  169. if driver.getPageSource().contains("ERROR OCCURRED"):
  170. driver.quit
  171. return
  172.  
  173. if driver.getPageSource().contains("welcome"):
  174.  
  175. print("done")
  176. sleep(10)
  177. with open("acc.txt", 'a') as file:
  178. file.write(EMAIL+":Pass12345"+"\n")
  179.  
  180. driver.quit()
  181.  
  182.  
  183. except Exception as s:
  184. print()
  185. driver.quit()
  186. else:
  187. print ("Succesfully registered %s" % EMAIL )
  188. driver.quit()
  189.  
  190.  
  191. if __name__ == '__main__':
  192. for i in range(5000):
  193. try:
  194. main()
  195. except:
  196. continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement