Best Buy Check out Bot Python

Job ID: 33273103

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()