-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathunibot.py
101 lines (93 loc) · 3.71 KB
/
unibot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import time
import os
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
import tinyWinToast.tinyWinToast as Toast
cdir = os.getcwd()
ser = Service("C:\ChromeDriver\chromedriver.exe")
options = webdriver.ChromeOptions()
# options.headless = True
driver = webdriver.Chrome(service=ser, options=options)
def readCrd():
try:
txt = open("var.txt").read()
user = txt.split(",")[0]
pwd = txt.split(",")[1]
url = txt.split(",")[2]
return user,pwd,url
except:
print("Si è verificato un errore. Verifica il file var.txt")
def login():
try:
user,pwd,url = readCrd()
driver.get("https://www.unieuro.it/online/login") #Unieuro pagina di login
time.sleep(2)
biscotto = driver.find_element(By.ID, "onetrust-reject-all-handler")
biscotto.click()
username = driver.find_element(By.ID, "j_username")
username.send_keys(user)
username.send_keys(Keys.RETURN)
#time.sleep(5)
password = driver.find_element(By.ID, "j_password")
password.send_keys(pwd)
password.send_keys(Keys.RETURN)
#time.sleep(2)
#os.system("pause")
availability()
except:
print("Si è verificato un errore. Controlla le credenziali inserite")
driver.quit()
def availability():
try:
user,pwd,url = readCrd()
driver.get(url)
#time.sleep(5)
# biscotto = driver.find_element(By.ID, "onetrust-reject-all-handler")
# biscotto.click()
avb = driver.find_element(By.CLASS_NAME, "pdp-right__buttons-container")
avb = avb.text
print(avb)
x = 0
if ("AGGIUNGI AL CARRELLO" in avb):
Toast.getToast("Il prodotto è disponibile!", "Sto aggiungendo il prodotto al carrello!!!",cdir + "\\unieuro.ico", iconCrop="circle", appId= "Unieuro BOT").show()
print(str(x) + ": Prodotto disponibile! ")
x = x + 1
checkout()
while ("NOTIFICA DISPONIBILITÀ" in avb):
print(str(x) + ": Prodotto non disponibile. ")
x = x + 1
time.sleep(1)
driver.get(url)
avb = driver.find_element(By.CLASS_NAME, "pdp-right__buttons-container")
avb = avb.text
except:
print("Si è verificato un errore.")
driver.quit()
def checkout():
try:
print("Sono al checkout")
buyButton = driver.find_element(By.CLASS_NAME, "icon-tool-cart")
buyButton.click()
time.sleep(1)
driver.get("https://www.unieuro.it/online/checkout/delivery") #Pagina di checkout
checkoutBtn1 = driver.find_element(By.CLASS_NAME, "icon-arrow-right") #Metodo Spedizione
checkoutBtn1.click()
time.sleep(1)
checkoutBtn2 = driver.find_element(By.XPATH, "//*[@id='"'anchor-home'"']/div[2]/div[4]/button/i") #Indirizzo Spedizione
checkoutBtn2.click()
time.sleep(1)
checkoutBtn3 = driver.find_element(By.XPATH, "//*[@id='"'payment'"']/i") #Servizi aggiuntivi di spedizione
checkoutBtn3.click()
time.sleep(1)
checkoutBtn4 = driver.find_element(By.XPATH, "//*[@id='"'modifyBillingDataForm'"']/section/div[2]/button/i") #Scontrino
checkoutBtn4.click()
Toast.getToast("Manca poco!", "Il prodotto è stato aggiunto al carrello, resta solo da confermare il pagamento.",cdir + "\\unieuro.ico", iconCrop="circle", appId= "Unieuro BOT").show()
#os.system("pause")
close = input("Premi qualsiasi pulsante per uscire...")
driver.quit()
except:
print("Si è verificato un errore.")
driver.quit()
login()