Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .DS_Store
Binary file not shown.
Binary file modified __pycache__/config.cpython-37.pyc
Binary file not shown.
Binary file added __pycache__/config.cpython-39.pyc
Binary file not shown.
149 changes: 81 additions & 68 deletions bot.py
Original file line number Diff line number Diff line change
@@ -1,68 +1,81 @@
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from config import keys
from config import product
import time


def order():
# wait for checkout button element to load
time.sleep(.3)
# fill out checkout screen fields
driver.find_element_by_id('order_billing_name').send_keys(keys['name'])
driver.find_element_by_id('order_email').send_keys(keys['email'])
driver.find_element_by_id('order_tel').send_keys(keys['phone_number'])
driver.find_element_by_id('bo').send_keys(keys['address'])
driver.find_element_by_id('oba3').send_keys(keys['apt'])
driver.find_element_by_id('order_billing_zip').send_keys(keys['zip'])
driver.find_element_by_id('order_billing_city').send_keys(keys['city'])
driver.find_element_by_id('orcer').send_keys(keys['cvv'])
driver.find_element_by_id('rnsnckrn').send_keys(keys['cc'])
driver.find_element_by_name('credit_card[month]').send_keys(keys['em'])
driver.find_element_by_name('credit_card[year]').send_keys(keys['ey'])

# Process payment click
time.sleep(.5)
driver.find_element_by_xpath("icheckbox_minimal").click()
driver.find_element_by_name('commit').click()


if __name__ == '__main__':
# load chrome
driver = webdriver.Chrome(ChromeDriverManager().install())

# Goto Surpeme url
driver.get('https://www.supremenewyork.com/shop/all')

# Find items

# Category selector
category = driver.find_element_by_link_text(product['category'])
category.click()
time.sleep(1)

# Item selector
item = driver.find_element_by_partial_link_text(product['keyword'])
item.click()
time.sleep(1)

# Color selector
w = "//button[@data-style-name='" + product['color']+ "']"
color = driver.find_element_by_xpath(w)
color.click()
time.sleep(.5)

# Size selector option 3 is for large
size = driver.find_element_by_xpath("//*[@id='s']/option[3]")
size.click()

# Add to cart
add = driver.find_element_by_xpath("//input[@name='commit']")
add.click()
time.sleep(.5)

# To cart
checkout = driver.find_element_by_xpath("//a[@class='button checkout']")
checkout.click()

order()
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from config import product
import xml.etree.ElementTree as ET
import time

def order():
tree = ET.parse('savedbinfo.xml')
root = tree.getroot()

# wait for checkout button element to load
time.sleep(.3)

# fill out checkout screen fields
driver.find_element_by_id('order_billing_name').send_keys(root[0].text)
driver.find_element_by_id('order_email').send_keys(root[1].text)
driver.find_element_by_id('order_tel').send_keys(root[2].text)
driver.find_element_by_id('bo').send_keys(root[3].text)
driver.find_element_by_id('oba3').send_keys(root[4].text)
driver.find_element_by_id('order_billing_zip').send_keys(root[5].text)
driver.find_element_by_id('order_billing_city').send_keys(root[6].text)
driver.find_element_by_id('order_billing_state').send_keys(root[7].text)
driver.find_element_by_id('order_billing_country').send_keys(root[8].text)


# Credit card section fillout
tree = ET.parse('savedcinfo.xml')
root = tree.getroot()

driver.find_element_by_id('rnsnckrn').send_keys(root[0].text)
driver.find_element_by_name('credit_card[month]').send_keys(root[1].text)
driver.find_element_by_name('credit_card[year]').send_keys(root[2].text)
driver.find_element_by_id('orcer').send_keys(root[3].text)

# Check combo to confirm reading policy
driver.find_element_by_xpath('//*[@id="cart-cc"]/fieldset/p/label/div/ins').click()

# Process payment click
time.sleep(.5)
driver.find_element_by_name('commit').click()


if __name__ == '__main__':
# load chrome and parse .xml file
driver = webdriver.Chrome(ChromeDriverManager().install())

# Goto Surpeme url
driver.get('https://www.supremenewyork.com/shop/all')

# Find items

# Category selector
category = driver.find_element_by_link_text(product['category'])
category.click()
time.sleep(1)

# Item selector
item = driver.find_element_by_partial_link_text(product['keyword'])
item.click()
time.sleep(1)

# Color selector
w = "//button[@data-style-name='" + product['color']+ "']"
color = driver.find_element_by_xpath(w)
color.click()
time.sleep(.5)

# Size selector option 3 is for large
size = driver.find_element_by_xpath("//*[@id='s']/option[3]")
size.click()

# Add to cart
add = driver.find_element_by_xpath("//input[@name='commit']")
add.click()
time.sleep(.5)

# To cart
checkout = driver.find_element_by_xpath("//a[@class='button checkout']")
checkout.click()

order()
Binary file added chromedriver
Binary file not shown.
Binary file removed chromedriver.exe
Binary file not shown.
Binary file removed chromedriver_win32.zip
Binary file not shown.
5 changes: 5 additions & 0 deletions config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
product = {
"category":"jackets",
"keyword":"King",
"color":"Black"
}
4 changes: 4 additions & 0 deletions debug.log
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@
[0923/012559.277:ERROR:exception_snapshot_win.cc(99)] thread ID 21168 not found in process
[0923/012559.309:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[0923/012559.309:ERROR:exception_snapshot_win.cc(99)] thread ID 14048 not found in process
[1013/225421.821:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[1013/225421.822:ERROR:exception_snapshot_win.cc(99)] thread ID 11856 not found in process
[1013/225421.849:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[1013/225421.849:ERROR:exception_snapshot_win.cc(99)] thread ID 11480 not found in process
1 change: 1 addition & 0 deletions node_modules/.bin/rimraf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/semver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-conv

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-sign

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-verify

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/uuid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/webdriver-manager

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions node_modules/adm-zip/LICENSE

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

65 changes: 65 additions & 0 deletions node_modules/adm-zip/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading