from selenium import webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
class Bot:
def __init__(self, Username, Password, firstName, lastName, checkPin, address, city, apt, state, phone, cardCvv,
chrome_path):
self.Username = Username
self.Password = Password
self.checkPin = checkPin
self.firstName = firstName
self.lastName = lastName
self.address = address
self.city = city
self.apt = apt
self.state = state
self.phone = phone
self.cardCvv = cardCvv
self.driver = webdriver.Chrome(chrome_path)
self.driver.get('https://shopatsc.com/account/login')
def add_ps5_to_cart_and_checkout(self):
addToCart = '//div[contains(@class,"groups-btn prod_id")]/input[@id = "product-add-to-cart"]'
viewCart = '//a[@class= "btn btn-view-cart"]'
checkPin = '//input[@id= "pincode_input"]'
checkBtn = '//span[@id="check-delivery-submit"]'
proceedToCheckout = '//input[@id= "checkout_button"]'
self.waitforAddtoCartBtn(addToCart)
self.clickButton(viewCart)
self.enterData(checkPin, self.checkPin)
self.clickButton(checkBtn)
self.clickButton(proceedToCheckout)
def waitforAddtoCartBtn(self, xpath):
while True:
try:
WebDriverWait(self, 10).until(
EC.presence_of_element_located(By.XPATH.click()))
break
except Exception:
self.driver.refresh(self, xpath)
continue
I am getting below error :
refresh() takes 1 positional argument but 3 were given
If I remove both arguments from refresh() programs keep on refreshing the page when it go to add he item to the cart.