Guest User

shoe copper

a guest
Oct 11th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.85 KB | None | 0 0
  1. import bs4, time
  2. from selenium import webdriver
  3. from selenium.webdriver.common.by import By
  4. from selenium.webdriver.support.ui import WebDriverWait
  5. from selenium.webdriver.support import expected_conditions as EC
  6.  
  7. #current bugs
  8. #sometimes fails to add shoe to cart, when this happens restart the script
  9.  
  10. #put url of shoes
  11. url = 'http://www.footlocker.com/product/model:254106/sku:AQ2661/adidas-originals-yeezy-boost-350-mens/?cm='
  12.  
  13. #personal information
  14. fname = 'Alex'
  15. lname = 'Fend'
  16. street2 = '462 E. Grove St.'
  17. zipcode2 = '91767'
  18. city2 = 'Pomona'
  19. phone2 = '9095308362'
  20. email2 = 'thisisjohns2mail3@gmail.com'
  21. creditcardnumber = '4266841424986345'
  22. creditcardmonth = '10'
  23. creditcardyear = '18'
  24. credticardcsv = '222'
  25.  
  26.  
  27. ###Do not change anything below this line
  28. #shoe sizes
  29. size6 = '//*[@id="product_sizes"]/option[1]'
  30. size65 = '//*[@id="product_sizes"]/option[2]'
  31. size7 = '//*[@id="product_sizes"]/option[3]'
  32. size75 = '//*[@id="product_sizes"]/option[4]'
  33. size8 = '//*[@id="product_sizes"]/option[5]'
  34. size85 = '//*[@id="product_sizes"]/option[6]'
  35. size9 = '//*[@id="product_sizes"]/option[7]'
  36. size95 = '//*[@id="product_sizes"]/option[8]'
  37. size10 = '//*[@id="product_sizes"]/option[9]'
  38. size105 = '//*[@id="product_sizes"]/option[10]'
  39. size11 = '//*[@id="product_sizes"]/option[11]'
  40. size115 = '//*[@id="product_sizes"]/option[12]'
  41. size12 = '//*[@id="product_sizes"]/option[13]'
  42. size125 = '//*[@id="product_sizes"]/option[14]'
  43.  
  44. chosen_size = size10
  45.  
  46. cart_url = 'http://www.footlocker.com/shoppingcart/default.cfm?sku='
  47. shipping_info_loaded = False
  48. credit_info_loaded = False
  49. shoe_status = False
  50. successful_load = False
  51.  
  52. browser = webdriver.Firefox()
  53.  
  54. while shoe_status == False:
  55. browser.get(url)
  56. timer_displayed = browser.find_element_by_xpath('//*[@id="select_size"]')
  57. print(timer_displayed.is_displayed())
  58. if timer_displayed.is_displayed() == False:
  59. shoe_status = True
  60. time.sleep(1) #will refresh every x seconds until timer is gone
  61.  
  62. print('Loading page...')
  63. while successful_load == False:
  64. browser.get(url)
  65. print('Successful!')
  66. #size
  67. print('Selecting size...')
  68. (browser.find_element_by_xpath(chosen_size)).click()
  69. print('Successful!')
  70. #add to cart
  71. print('Adding to cart...')
  72. add_to_cart = browser.find_element_by_xpath('//*[@id="product_form"]/div/span[2]/div/div[7]/input')
  73. add_to_cart.click()
  74. print('Successful!')
  75. print('Going to cart...')
  76. browser.get(cart_url)
  77. if browser.current_url != 'http://www.footlocker.com/catalog/emptyCart.cfm?cartIsEmpty=1':
  78. print('Going to checkout...')
  79. checkout = browser.find_element_by_xpath('//*[@id="cart_checkout_button"]')
  80. checkout.click()
  81. print('Successful!')
  82. print('Going to billing...')
  83. successful_load = True
  84. checkout.click()
  85.  
  86. #waits for page to load
  87.  
  88. try:
  89. element = WebDriverWait(browser, 300).until(EC.presence_of_element_located((By.XPATH, '//*[@id="billFirstName"]')))
  90. print('Page loaded')
  91. shipping_info_loaded = True
  92. except TimeoutException:
  93. print('Page took too long to load')
  94.  
  95. if shipping_info_loaded == True:
  96. time.sleep(1)
  97. print('Filling out shipping info')
  98. first_name = browser.find_element_by_xpath('//*[@id="billFirstName"]')
  99. first_name.send_keys(fname)
  100. last_name = browser.find_element_by_xpath('//*[@id="billLastName"]')
  101. last_name.send_keys(lname)
  102. street = browser.find_element_by_xpath('//*[@id="billAddress1"]')
  103. street.send_keys(street2)
  104. zipcode = browser.find_element_by_xpath('//*[@id="billPostalCode"]')
  105. zipcode.send_keys(zipcode2)
  106. city = browser.find_element_by_xpath('//*[@id="billCity"]')
  107. city.send_keys(city2)
  108. city = browser.find_element_by_xpath('//*[@id="billState"]/option[10]')
  109. city.click()
  110. phone = browser.find_element_by_xpath('//*[@id="billHomePhone"]')
  111. phone.send_keys(phone2)
  112. email = browser.find_element_by_xpath('//*[@id="billEmailAddress"]')
  113. email.send_keys(email2)
  114. email.submit()
  115. print('Successful!')
  116. print('Skipping delivery options')
  117. next_step = browser.find_element_by_xpath('//*[@id="billPaneContinue"]')
  118. next_step.click()
  119. if browser.current_url == 'http://www.footlocker.com/shoppingcart/?sessionExpired=true':
  120. successful_load = False
  121. print('Button clicked')
  122.  
  123. try:
  124. element = WebDriverWait(browser, 300).until(EC.presence_of_element_located((By.XPATH, '//*[@id="shipMethod3"]')))
  125. print('Page passed')
  126. next_step_loaded = True
  127. print('Successful!')
  128. print('Loading next step')
  129. if next_step_loaded == True:
  130. next_step_2 = browser.find_element_by_xpath('//*[@id="shipMethodPaneContinue"]')
  131. next_step_2.click()
  132. except TimeoutException:
  133. print('Page took too long to load')
  134.  
  135. try:
  136. element = WebDriverWait(browser, 300).until(EC.presence_of_element_located((By.XPATH, '//*[@id="payMethodPanestoredCCCardNumber"]')))
  137. print('Page loaded')
  138. credit_info_loaded = True
  139. except TimeoutException:
  140. print('Page took too long to load')
  141.  
  142. if credit_info_loaded == True:
  143. time.sleep(1)
  144. print('Filling out credit card information')
  145. credit_card_number = browser.find_element_by_xpath('//*[@id="CardNumber"]')
  146. credit_card_number.send_keys(creditcardnumber)
  147. credit_card_number_month = browser.find_element_by_xpath('//*[@id="CardExpireDateMM"]')
  148. credit_card_number_month.send_keys(creditcardmonth)
  149. credit_card_number_year = browser.find_element_by_xpath('//*[@id="CardExpireDateYY"]')
  150. credit_card_number_year.send_keys(creditcardyear)
  151. time.sleep(1)
  152. print('Filling out csv')
  153. credit_card_number_csv = browser.find_element_by_xpath('//*[@id="CardCCV"]')
  154. credit_card_number_csv.send_keys(credticardcsv)
  155. credit_card_number_csv.submit()
  156. print('Successful')
Add Comment
Please, Sign In to add comment