Guest User

Untitled

a guest
Mar 23rd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.67 KB | None | 0 0
  1. from seleniumrequests import Chrome
  2. from selenium.webdriver.support.ui import WebDriverWait
  3. from selenium.webdriver.support import expected_conditions as EC
  4. from selenium.webdriver.common.keys import Keys
  5. from selenium.webdriver.common.by import By
  6. from selenium.webdriver.chrome.options import Options
  7. from selenium.webdriver.support.ui import Select
  8. from time import sleep
  9. from random import randint, choice, seed, shuffle
  10. from threading import Thread as th
  11. from requests import get
  12. from json import loads
  13. from all_cats import random_cat
  14. from datetime import datetime
  15. from cli import CLI
  16. from tkinter import *
  17. from sys import exit as exitous
  18. from sys import platform
  19. from file_header import file_header
  20. from subprocess import call
  21. import os
  22.  
  23.  
  24. def open_file(filename):
  25. if platform == "win32":
  26. os.startfile(filename)
  27. else:
  28. opener = "open" if platform == "darwin" else "xdg-open"
  29. call([opener, filename])
  30. return None
  31.  
  32. def random_user_generator():
  33. r_user = get('https://randomuser.me/api/')
  34. r_json = loads(r_user.text)
  35. try:
  36. r_user_name = (' '.join([str(r_json['results'][0]['name']['first']) , str(r_json['results'][0]['name']['last'])])).upper().encode('ascii').decode('ascii')
  37. if r_user_name == '' or r_user_name == None:
  38. #print('None type here')
  39. return random_user_generator()
  40. return r_user_name
  41. except:
  42. #print('regeneration')
  43. return random_user_generator()
  44.  
  45.  
  46. def random_website_generator():
  47. seed(datetime.now())
  48. alphabets = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890')
  49. rand_web = ''
  50. for i in range(randint(13,30)):
  51. shuffle(alphabets)
  52. rand_web = rand_web + choice(alphabets)
  53. return rand_web
  54.  
  55.  
  56. # def popup_self_destruction(text):
  57. # root = Tk()
  58. # root.iconbitmap('icon.ico')
  59. # root.attributes('-topmost', True)
  60. # root.geometry('400x200')
  61. # root.resizable(width=False, height=False)
  62. # root.title('Info')
  63. # final_text = text + '\n\n!!This is a self-destructive message!!\n!!This window will close in 5 seconds!!'
  64. # l = Label(root ,text = final_text, justify = CENTER, font=("Helvetica", 12))
  65. # l.pack(anchor = CENTER)
  66. # root.after(5000,root.destroy)
  67. # root.mainloop()
  68. # return None
  69.  
  70. # def popup_continue(text):
  71. # root = Tk()
  72. # root.iconbitmap('icon.ico')
  73. # root.attributes('-topmost', True)
  74. # root.geometry('400x200')
  75. # root.resizable(width=False, height=False)
  76. # root.title(text)
  77. # b = Button(root,text = text , command = root.destroy)
  78. # b.config(bd = 10)
  79. # b.place(x = 50, y = 50, width = 300, height = 75)
  80. # root.mainloop()
  81. # return None
  82.  
  83. def popup_self_destruction(text):
  84. print('\n>>> ' + text + '\n')
  85. return None
  86.  
  87. def popup_continue(text):
  88. input('\n>>> ' + text)
  89. return None
  90.  
  91. def random_description():
  92. seed(datetime.now())
  93. return str('This is a website about ' + str(choice(random_cat)))
  94.  
  95. def selecting_topics_randomly(element):
  96. select = Select(element)
  97. select.select_by_index(randint(1,len(select.options)-1))
  98. return None
  99.  
  100. def random_valid_phone_number_generator():
  101. r_user = get('https://randomuser.me/api/')
  102. r_json = loads(r_user.text)
  103. if (r_json['results'][0]['name']['first']).isalpha() == False:
  104. random_valid_phone_number_generator()
  105. try:
  106. r_user_cell = r_json['results'][0]['cell'].replace('-','').replace('(','').replace(')','')
  107. r_name = [str(r_json['results'][0]['name']['first'].encode('ascii').decode('ascii')) , str(r_json['results'][0]['name']['last']).encode('ascii').decode('ascii')]
  108. r_city = (r_json['results'][0]['location']['city']).encode('ascii').decode('ascii')
  109. r_state = (r_json['results'][0]['location']['state']).encode('ascii').decode('ascii')
  110. r_postal_code = r_json['results'][0]['location']['postcode']
  111. r_address = (r_json['results'][0]['location']['street']).encode('ascii').decode('ascii')
  112. if r_name == '' or r_name == None:
  113. #print('regeneration')
  114. return random_valid_phone_number_generator()
  115. if r_city == '' or r_city == None:
  116. #print('regeneration')
  117. return random_valid_phone_number_generator()
  118. if r_state == '' or r_state == None:
  119. #print('regeneration')
  120. return random_valid_phone_number_generator()
  121. if r_address == '' or r_address == None:
  122. #print('regeneration')
  123. return random_valid_phone_number_generator()
  124. #print(r_json)
  125. return r_user_cell, r_name, r_city, r_state, r_postal_code, r_address
  126. except:
  127. #print('regeneration')
  128. return random_valid_phone_number_generator()
  129.  
  130. #
  131. #
  132. def creating_new_file():
  133. #print(FILE_NAME)
  134. #print('here')
  135. with open(FILE_NAME,'w') as tee:
  136. tee.write(file_header + '\n\n\n')
  137. return None
  138.  
  139. def saving_to_file(text):
  140. #print(FILE_NAME)
  141. with open(FILE_NAME, 'a+') as writin:
  142. writin.write(text + '\n')
  143.  
  144. class AWS_SIGNUP(object):
  145. def __init__(self,EMAIL,PASSWORD):
  146. temp = random_valid_phone_number_generator()
  147. self.ADDRESS_1 = temp[5]
  148. self.CITY = temp[2]
  149. #self.COUNTRY = COUNTRY
  150. self.EMAIL = EMAIL
  151. self.PASSWORD = PASSWORD
  152. self.POSTAL_CODE = temp[4]
  153. self.STATE = temp[3]
  154. self.random_id = random_website_generator()
  155. #self.description = random_description()
  156. self.PHONE_NUMBER = temp[0]
  157. self.NAME = random_user_generator()
  158. def Signup(self):
  159. saving_to_file('Email : {}'.format(self.EMAIL))
  160. saving_to_file('Password : {}'.format(self.PASSWORD))
  161. driver = Chrome()
  162. driver.get('https://portal.aws.amazon.com/gp/aws/developer/registration/index.html')
  163. #self.TEMP_EMAIL = self.temp_mail_generator(driver)
  164. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_email'))).send_keys(self.EMAIL)
  165. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_signin_create_radio'))).click()
  166. try:
  167. driver.find_element_by_id('ap_captcha_img_label')
  168. popup_continue('Fill Captcha, if not present ignore this')
  169. except:
  170. pass
  171. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'signInSubmit-input'))).click()
  172. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_customer_name'))).send_keys(str(self.NAME))
  173. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_email_check'))).send_keys(self.EMAIL)
  174. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_password'))).send_keys(self.PASSWORD)
  175. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_password_check'))).send_keys(self.PASSWORD)
  176. try:
  177. driver.find_element_by_id('ap_captcha_img_label')
  178. popup_continue('Fill Captcha, if not present ignore this')
  179. except:
  180. pass
  181. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'continue-input'))).click()
  182.  
  183. #personal account
  184. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'personal-account'))).click()
  185. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'full-name'))).send_keys(self.NAME)
  186. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'country')))
  187. elm = Select(driver.find_element_by_id('country'))
  188. elm.select_by_index(randint(1,len(elm.options)-1))
  189. #elm.select_by_visible_text('{}'.format(COUNTRY))
  190. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'street-address-1'))).send_keys(self.ADDRESS_1)
  191. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'street-address-2'))).send_keys(ADDRESS_2)
  192. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'city'))).send_keys(self.CITY)
  193. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'state'))).send_keys(self.STATE)
  194. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'postal-code'))).send_keys(self.POSTAL_CODE)
  195. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'phone-number'))).send_keys(self.PHONE_NUMBER)
  196. #TOC
  197. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'agreementAccepted'))).click()
  198. driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN)
  199. popup_continue('Enter Captcha and Press Enter')
  200. try:
  201. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'a-button-inner'))).click()
  202. except:
  203. pass
  204. sleep(2)
  205. if 'payment' not in driver.current_url:
  206. popup_continue('There seeems to be some error in the Form.\nPlease Correct it and only Press Enter!')
  207. try:
  208. WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, 'a-button-inner'))).click()
  209. except:
  210. pass
  211. popup_self_destruction('Completed SignUp \nSigning Up for Product Advertising API')
  212. driver.quit()
  213. return None
  214.  
  215. class AWS_PRODUCT_ADVERTISING_API(object):
  216. def __init__(self,EMAIL,PASSWORD):
  217. self.EMAIL = EMAIL
  218. self.PASSWORD = PASSWORD
  219. self.description = random_description()
  220. return None
  221. #
  222. def Signup(self):
  223. driver = Chrome()
  224. driver.get('https://affiliate-program.amazon.com/gp/flex/advertising/api/sign-in.html')
  225. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_email'))).send_keys(self.EMAIL)
  226. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_signin_existing_radio'))).click()
  227. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_password'))).send_keys(self.PASSWORD)
  228. try:
  229. driver.find_element_by_id('ap_captcha_img_label')
  230. popup_continue('Fill Captcha, if not present ignore this')
  231. except:
  232. pass
  233. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'signInSubmit'))).click()
  234. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'storeDescription'))).send_keys(str(self.description))
  235. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'paapiOptIn'))).click()
  236. driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN)
  237. #wait for captcha solving
  238. popup_continue('Enter Captcha and Press Enter')
  239. try:
  240. WebDriverWait(driver, 4).until(EC.presence_of_element_located((By.ID, 'submit'))).click()
  241. except:
  242. pass
  243. if 'thank' not in driver.current_url.split('/')[-1]:
  244. popup_continue('There seeems to be some error in the Form.\nPlease Correct it and only then Press Enter!')
  245. try:
  246. WebDriverWait(driver, 4).until(EC.presence_of_element_located((By.ID, 'submit'))).click()
  247. except:
  248. pass
  249. popup_self_destruction('Product Advertising API is complete.\nSigning Up for AWS_ASSOCIATES')
  250. driver.quit()
  251. return None
  252.  
  253. class AWS_ASSOCIATES(object):
  254. ACCESS_KEY_ID = ''
  255. SECRET_ACCESS_KEY = ''
  256. def __init__(self,EMAIL,PASSWORD):
  257. self.EMAIL = EMAIL
  258. self.PASSWORD = PASSWORD
  259. self.random_id = random_website_generator()
  260. self.description = random_description()
  261. return None
  262.  
  263. def Signup(self):
  264. driver = Chrome()
  265. driver.get('https://affiliate-program.amazon.com/signup')
  266. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_email'))).send_keys(self.EMAIL)
  267. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_signin_existing_radio'))).click()
  268. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_password'))).send_keys(self.PASSWORD)
  269. try:
  270. driver.find_element_by_id('ap_captcha_img_label')
  271. popup_continue('Fill Captcha, if not present ignore this')
  272. except:
  273. pass
  274. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'signInSubmit'))).click()
  275. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-wizard-signup-next-btn'))).click()
  276. WebDriverWait(driver, 50).until(EC.presence_of_element_located((By.ID, 'ac-site-list-add-text-website'))).send_keys(str(self.random_id)+'.com')
  277. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-sl-ws-add-btn'))).click()
  278. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-sl-next-btn'))).click()
  279. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'compliance')))
  280. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-site-list-compliance-no'))).click()
  281. # for i in driver.find_elements_by_tag_name('input'):
  282. # if 'no' == i.get_attribute('value'):
  283. # i.click()
  284. #
  285. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-sl-confirm-btn'))).click()
  286. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-sp-store_name'))).send_keys(self.random_id)
  287. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-sp-description'))).send_keys(str(self.description))
  288. #Selecting Primary Topic
  289. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-topic_1'))
  290. #Selecting Secondary Topic
  291. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-topic_2'))
  292. #Selecting PRIMARY TYPE of mobile apps/websites
  293. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-segment_1'))
  294. #Selecting SECONDARY TYPE of mobile apps/websites
  295. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-segment_2'))
  296. #Selecting Monetization
  297. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-monetize_channel_1'))
  298. #Selecting Monetization
  299. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-monetize_channel_2'))
  300. #Link Building
  301. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-link_building_method_code'))
  302. #Unique Visitors
  303. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-unique_visitors_code'))
  304. #Expected Unique Users
  305. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-expectation_code'))
  306. #Expectation from Associate program
  307. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-expectation_code'))
  308. #Discover this website
  309. selecting_topics_randomly(driver.find_element_by_id('ac-signup-sp-discovery_method_code'))
  310. #Selecting checkboxes
  311. primary_checkbox = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-sp-category')))
  312. primary_checkbox = primary_checkbox.find_elements_by_css_selector('.a-icon.a-icon-checkbox')
  313. choice(primary_checkbox).click()
  314. #Selecting Secondary checkboxes
  315. secondary_checkbox = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-sp-promochannel')))
  316. secondary_checkbox = secondary_checkbox.find_elements_by_css_selector('.a-icon.a-icon-checkbox')
  317. choice(secondary_checkbox).click()
  318. #wait for captcha
  319. driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN)
  320. popup_continue('Enter Captcha and Press Enter')
  321. #Next Button
  322. try:
  323. WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.ID, 'ac-wizard-signup-next-btn'))).click()
  324. except:
  325. pass
  326. #Wait for Phone Verification
  327. #AGREEING TO TOC
  328. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.a-icon.a-icon-checkbox'))).click()
  329. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'payee_phone_number'))).send_keys('')
  330. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-iv-op_agreement_code'))).click()
  331. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-iv-call_btn'))).click()
  332. #wait here, finish
  333. popup_continue('Please enter your mobile number and verify it. Select the TOC Checkbox \nThen, Press Enter to get your API Credentials')
  334.  
  335. try:
  336. driver.find_element_by_class_name('ac-wizard-nav-next').click()
  337. except:
  338. pass
  339.  
  340. try:
  341. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-pa-payment-later-btn'))).click()
  342. except:
  343. popup_continue('There seeems to be some error in the Form.\nPlease Correct it and only then Press Enter!')
  344. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ac-signup-pa-payment-later-btn'))).click()
  345. driver.get('https://console.aws.amazon.com/iam/home?#home')
  346. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_email'))).send_keys(self.EMAIL)
  347. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_signin_existing_radio'))).click()
  348. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'ap_password'))).send_keys(self.PASSWORD)
  349. try:
  350. driver.find_element_by_id('ap_captcha_img_label')
  351. popup_continue('Fill Captcha, if not present ignore this')
  352. except:
  353. pass
  354. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'signInSubmit'))).click()
  355. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.row-fluid.no-gutter.accordion-toggle'))).click()
  356. driver.get('https://console.aws.amazon.com/iam/home?#/security_credential')
  357. try:
  358. WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'icon-remove'))).click()
  359. except:
  360. pass
  361. # for plus in driver.find_elements_by_css_selector('.row-fluid.no-gutter.accordion-toggle.collapsed'):
  362. # if 'access_key' in plus.get_attribute('data-target'):
  363. # plus.click()
  364. driver.find_element_by_xpath('//*[@id="credaccordion"]/div[3]/div[1]/div').click()
  365.  
  366. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.btn.btn-primary.create'))).click()
  367. sleep(3)
  368. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.showCredentials.pointer'))).click()
  369. # pass
  370. sleep(3)
  371. keys = driver.find_elements_by_class_name('attrValue')
  372. self.ACCESS_KEY_ID = keys[0].text
  373. self.SECRET_ACCESS_KEY = keys[1].text
  374. saving_to_file('\nAWS CREDS\n')
  375. saving_to_file('AWS_ACCESS_KEY_ID : {}'.format(self.ACCESS_KEY_ID))
  376. saving_to_file('AWS_SECRET_ACCESS_KEY : {}'.format(self.SECRET_ACCESS_KEY))
  377. popup_self_destruction('Amazon Associate SignUp is complete \nSigning Up for Ebay API')
  378. driver.quit()
  379. return None
  380.  
  381. class EBAY_API(object):
  382. EBAY_APP_ID = ''
  383. EBAY_USER_TOKEN = ''
  384. #
  385. def __init__(self,EMAIL,PASSWORD):
  386. #self.ADDRESS_1 = ADDRESS_1
  387. #self.ADDRESS_2 = ADDRESS_2
  388. temp = random_valid_phone_number_generator()
  389. self.ADDRESS_1 = temp[5]
  390. self.CITY = temp[2]
  391. #self.COUNTRY = COUNTRY
  392. self.EMAIL = EMAIL
  393. self.PASSWORD = PASSWORD
  394. self.POSTAL_CODE = temp[4]
  395. self.STATE = temp[3]
  396. self.random_id = random_website_generator()
  397. self.description = random_description()
  398. self.PHONE_NUMBER = temp[0]
  399. self.FIRST_NAME = temp[1][0]
  400. self.LAST_NAME = temp[1][1]
  401. return None
  402. #
  403. #
  404. def temp_mail_generator(self,driver):
  405. driver.execute_script('window.open("https://www.mohmal.com/en/create/random/")')
  406. driver.switch_to_window(driver.window_handles[-1])
  407. TEMP_MAIL = WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.CLASS_NAME, 'email'))).text
  408. #print(TEMP_MAIL)
  409. driver.close()
  410. driver.switch_to_window(driver.window_handles[-1])
  411. return TEMP_MAIL
  412. #
  413. #
  414. def Signup(self):
  415. driver = Chrome()
  416. driver.get('https://developer.ebay.com/join/')
  417. TEMP_EMAIL = self.temp_mail_generator(driver)
  418. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'w4-0[1]'))).click()
  419. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'user_name'))).send_keys(self.random_id)
  420. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'password'))).send_keys(self.PASSWORD)
  421. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'email'))).send_keys(TEMP_EMAIL)
  422. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 're-enter-email'))).send_keys(TEMP_EMAIL)
  423. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'w4-w1-w2-phone'))).send_keys(self.PHONE_NUMBER)
  424. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'checkbox-user-agreement'))).click()
  425. driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN)
  426. #add a pause to solve captcha
  427. popup_continue('Solve Captcha And Press Enter')
  428. #
  429. try:
  430. WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.ID, 'w4-w1-join-button'))).click()
  431. except:
  432. pass
  433. #
  434. try:
  435. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, '_ip_wth_cntr'))).send_keys(self.random_id)
  436. except:
  437. popup_continue('There seeems to be some error in the Form.\nPlease Correct it and only then Press Enter!')
  438. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, '_ip_wth_cntr'))).send_keys(self.random_id)
  439. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'createKeyset'))).send_keys(self.random_id)
  440. for i in driver.find_elements_by_class_name('createKeyset'):
  441. if 'production' in i.get_attribute('data-env'):
  442. i.click()
  443. #Generating Keys
  444. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.dialog.default.app-dialog')))
  445. sleep(3)
  446. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'first_name'))).send_keys(self.FIRST_NAME)
  447. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'last_name'))).send_keys(self.LAST_NAME)
  448. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'w4-w0-continue'))).click()
  449. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.table.keyset-table')))
  450. driver.get('https://developer.ebay.com/my/auth?env=sandbox&index=0')
  451. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'w5-w0-environment-option-production'))).click()
  452. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'w6-w1-signin'))).click()
  453. #next form
  454. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.dialog.default.app-dialog')))
  455. sleep(3)
  456. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'street1'))).send_keys(self.ADDRESS_1)
  457. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'street2'))).send_keys(self.ADDRESS_2)
  458. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'state'))).send_keys(self.STATE)
  459. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'city'))).send_keys(self.CITY)
  460. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'postal'))).send_keys(self.POSTAL_CODE)
  461. select_country = Select(WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.NAME, 'country'))))
  462. select_country.select_by_index(randint(1,len(select_country.options)-1))
  463. #select country here
  464. #
  465. WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'w4-w0-continue-to-get-token'))).click()
  466. #signing in to EBAY
  467. popup_continue('Enter your ebay user id and eBay password.\nPress Enter to Continue')
  468. try:
  469. WebDriverWait(driver, 4).until(EC.presence_of_element_located((By.ID, 'sgnBt'))).click()
  470. except:
  471. None
  472. #WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, '1858732253'))).send_keys(self.PASSWORD)
  473. #signed in , now consent
  474. WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.ebayLVTracking_clickthru.agree_button.anchorSpace'))).click()
  475. self.EBAY_APP_ID = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'selected-app-key'))).text
  476. self.EBAY_USER_TOKEN = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'w6-w1-devToken'))).text
  477. saving_to_file('\nEBAY CREDS\n')
  478. saving_to_file('EBAY_APP_ID : {}'.format(self.EBAY_APP_ID))
  479. saving_to_file('EBAY_USER_TOKEN : {}'.format(self.EBAY_USER_TOKEN))
  480. popup_self_destruction('\nEBAY API SignUp is complete \n\n Opening API Credentials File')
  481. driver.quit()
  482. return None
  483.  
  484. def Main():
  485. global FILE_NAME
  486. command_line = CLI()
  487. command_line.core()
  488. FILE_NAME = command_line.FILE_NAME
  489. creating_new_file()
  490. user_input = command_line.callback_user_input
  491.  
  492. dude = AWS_SIGNUP(user_input['EMAIL'],user_input['PASSWORD'])
  493. dude.Signup()
  494.  
  495. rude = AWS_PRODUCT_ADVERTISING_API(user_input['EMAIL'],user_input['PASSWORD'])
  496. rude.Signup()
  497.  
  498. homie = AWS_ASSOCIATES(user_input['EMAIL'],user_input['PASSWORD'])
  499. homie.Signup()
  500.  
  501. groot = EBAY_API(user_input['EMAIL'],user_input['PASSWORD'])
  502. groot.Signup()
  503.  
  504. #startfile(FILE_NAME)
  505. print('\nAPI Creds Saved in File : ' + str(FILE_NAME))
  506. open_file(FILE_NAME)
  507.  
  508. popup_self_destruction('\nThank You For Using!! Exiting!')
  509. try:
  510. exit()
  511. except:
  512. pass
  513. try:
  514. exitous()
  515. except:
  516. pass
  517. return
  518.  
  519.  
  520. try:
  521. Main()
  522. except:
  523. popup_continue('An Error Occured!!\nPlease restart the Program!!')
Add Comment
Please, Sign In to add comment