Best Buy Check out Bot Python
Budget: $30 – $250 USD
Need best buy check out bot in selenium that I can run with a gui or in pycharm
url = 'https://www.bestbuy.com/site/best-buy-500-best-buy-white-gift-card/6321909.p?skuId=6321909'
Bot must enter a new email address when signing up as guest each loop.
Bot must use random sleeps //time.sleep(random.randint(1, 10) / 100)// when entering form data
Bot will check out as guest and enter credit card info from a .csv file in python projects folder
Bot will complete purchase and create a log in csv that shows successful purchase or card decline
imoprt info file
csv file must contain 3 columns
A.new email "bob at bob .com
B. Card number "377936992445678"
C.cvv = "5643"
SCRIPT MUST CONTAIN A: (ABLITY TO MAKE CHANGES TO INFO QUICKLY)
FirstName = "Bob" # Place first name here
LastName = "Barker" # Place last name here
email = "READ FROM CSV FILE" # Place full email address here
phoneNumber = "8162294456" # Place phone number here. This will work with and without the - marks
Address = "3308 shannon dr." # Place address here
Town = "blue springs" # Place town here
State = "mo" # Place two digit state code here. As an example, Delaware is DE
Zipcode = "64015" # Place zip code here
url = 'https://www.bestbuy.com/site/best-buy-500-best-buy-white-gift-card/6321909.p?skuId=6321909' # Place Best Buy item url here
ccNum = "READ FROM CSV FILE" # Place credit card number here
ccExperationMonth = "11" # Place credit card experation month here. If the month is September, type 09.
ccExperationYear = "29" # Place credit card experation year here.
cvv = "READ FROM CSV FILE" # Place credit card cvv number here. This should be a 3 digit number.
SCRIPT MUST CONTAIN B: (CODE TO CLEAR BROWSER EACH TIME)
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
dialog_selector = '#dialogOverlay-0 > groupbox:nth-child(1) > browser:nth-child(2)'
accept_dialog_script = (
f"const browser = document.querySelector('{dialog_selector}');" +
"browser.contentDocument.documentElement.querySelector('#clearButton').click();"
)
def get_clear_site_data_button(driver):
return driver.find_element_by_css_selector('#clearSiteDataButton')
def get_clear_site_data_dialog(driver):
return driver.find_element_by_css_selector(dialog_selector)
def get_clear_site_data_confirmation_button(driver):
return driver.find_element_by_css_selector('#clearButton')
def clear_firefox_cache(driver, timeout=10):
driver.get('about:preferences#privacy')
wait = WebDriverWait(driver, timeout)
# Click the "Clear Data..." button under "Cookies and Site Data".
wait.until(get_clear_site_data_button)
get_clear_site_data_button(driver).click()
# Accept the "Clear Data" dialog by clicking on the "Clear" button.
wait.until(get_clear_site_data_dialog)
driver.execute_script(accept_dialog_script)
# Accept the confirmation alert.
wait.until(EC.alert_is_present())
alert = Alert(driver)
alert.accept()
url = 'https://www.bestbuy.com/site/best-buy-500-best-buy-white-gift-card/6321909.p?skuId=6321909'
Bot must enter a new email address when signing up as guest each loop.
Bot must use random sleeps //time.sleep(random.randint(1, 10) / 100)// when entering form data
Bot will check out as guest and enter credit card info from a .csv file in python projects folder
Bot will complete purchase and create a log in csv that shows successful purchase or card decline
imoprt info file
csv file must contain 3 columns
A.new email "bob at bob .com
B. Card number "377936992445678"
C.cvv = "5643"
SCRIPT MUST CONTAIN A: (ABLITY TO MAKE CHANGES TO INFO QUICKLY)
FirstName = "Bob" # Place first name here
LastName = "Barker" # Place last name here
email = "READ FROM CSV FILE" # Place full email address here
phoneNumber = "8162294456" # Place phone number here. This will work with and without the - marks
Address = "3308 shannon dr." # Place address here
Town = "blue springs" # Place town here
State = "mo" # Place two digit state code here. As an example, Delaware is DE
Zipcode = "64015" # Place zip code here
url = 'https://www.bestbuy.com/site/best-buy-500-best-buy-white-gift-card/6321909.p?skuId=6321909' # Place Best Buy item url here
ccNum = "READ FROM CSV FILE" # Place credit card number here
ccExperationMonth = "11" # Place credit card experation month here. If the month is September, type 09.
ccExperationYear = "29" # Place credit card experation year here.
cvv = "READ FROM CSV FILE" # Place credit card cvv number here. This should be a 3 digit number.
SCRIPT MUST CONTAIN B: (CODE TO CLEAR BROWSER EACH TIME)
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
dialog_selector = '#dialogOverlay-0 > groupbox:nth-child(1) > browser:nth-child(2)'
accept_dialog_script = (
f"const browser = document.querySelector('{dialog_selector}');" +
"browser.contentDocument.documentElement.querySelector('#clearButton').click();"
)
def get_clear_site_data_button(driver):
return driver.find_element_by_css_selector('#clearSiteDataButton')
def get_clear_site_data_dialog(driver):
return driver.find_element_by_css_selector(dialog_selector)
def get_clear_site_data_confirmation_button(driver):
return driver.find_element_by_css_selector('#clearButton')
def clear_firefox_cache(driver, timeout=10):
driver.get('about:preferences#privacy')
wait = WebDriverWait(driver, timeout)
# Click the "Clear Data..." button under "Cookies and Site Data".
wait.until(get_clear_site_data_button)
get_clear_site_data_button(driver).click()
# Accept the "Clear Data" dialog by clicking on the "Clear" button.
wait.until(get_clear_site_data_dialog)
driver.execute_script(accept_dialog_script)
# Accept the confirmation alert.
wait.until(EC.alert_is_present())
alert = Alert(driver)
alert.accept()