Zintegrowana kierownica szosowa Vision METRON 5D ACR EVO

Pierwotna cena wynosiła: 2999,90 zł.Aktualna cena wynosi: 2799,90 zł.

Kupując ten produkt otrzymujesz 2 799 pkt.


Znalazłeś produkt w niższej cenie?
Daj znać, Być może zaproponujemy lepszą ofertę!
W zasadzie tak właśnie zrobimy ;)

Przewidywana data dostawy: 29-01-2026 - 04-02-2026
SKU: Brak danych Kategorie: , , , Znacznik: Marka:
import time import csv import re from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import NoSuchElementException, TimeoutException # ================================================== # KONFIGURACJA # ================================================== LOGIN_URL = "https://www.sloger.sk/en/prihlasenie-b2b" ALPINA_BASE_URL = "https://www.sloger.sk/en/shop/vyrobca/alpina/" USERNAME = "biuro@2wheels.pl" PASSWORD = "KKccgg00551166!!" OUTPUT_CSV = "alpina_variants_FINAL.csv" WAIT_TIME = 20 # ================================================== # POMOCNICZE # ================================================== def accept_cookies(driver): try: driver.find_element( By.XPATH, "//button[contains(text(),'Agree') or contains(text(),'I agree')]" ).click() time.sleep(1) except NoSuchElementException: pass def find_login_fields(driver): login = password = None for inp in driver.find_elements(By.TAG_NAME, "input"): t = inp.get_attribute("type") if t == "text" and inp.is_displayed(): login = inp if t == "password" and inp.is_displayed(): password = inp return login, password # ================================================== # SELENIUM # ================================================== options = webdriver.ChromeOptions() options.add_argument("--start-maximized") driver = webdriver.Chrome(options=options) wait = WebDriverWait(driver, WAIT_TIME) data = [] try: # ---------- LOGIN ---------- driver.get(LOGIN_URL) time.sleep(2) accept_cookies(driver) wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "input[type='password']"))) login, password = find_login_fields(driver) login.send_keys(USERNAME) password.send_keys(PASSWORD) password.send_keys(Keys.ENTER) time.sleep(4) print("✅ Zalogowano do Sloger B2B") # ---------- ALPINA ---------- page = 1 while True: url = ALPINA_BASE_URL if page == 1 else f"{ALPINA_BASE_URL}strana-{page}" driver.get(url) time.sleep(3) products = driver.find_elements(By.CSS_SELECTOR, "div[id^='lipr_']") if not products: break print(f"📄 ALPINA | strona {page} | produkty: {len(products)}") links = [] for p in products: try: links.append( p.find_element(By.CSS_SELECTOR, "p.product-name a") .get_attribute("href") ) except NoSuchElementException: continue for link in links: driver.get(link) try: wait.until(EC.presence_of_element_located((By.TAG_NAME, "label"))) except TimeoutException: continue time.sleep(1) for label in driver.find_elements(By.TAG_NAME, "label"): text = label.text.strip() # ---- PRAWDZIWE SKU + EAN ---- variant_match = re.search( r"\(\s*([A-Za-z0-9\-]+)\s*/\s*(\d{8,14})\s*\)", text ) if not variant_match: continue sku = variant_match.group(1) ean = variant_match.group(2) # ---- STOCK ---- stock_match = re.search( r"(In stock|Na sklade)\s+(\d+)", text ) stock = int(stock_match.group(2)) if stock_match else 0 # ---- ROZMIAR (opcjonalnie) ---- size_match = re.search( r"\b(XXS|XS|S|M|L|XL|XXL)\b", text ) size = size_match.group(1) if size_match else "" data.append({ "sku": sku, "ean": ean, "stock": stock, "size": size, "url": link }) print(f"✔ {sku} | size: {size} | stock: {stock} | ean: {ean}") page += 1 finally: driver.quit() # ================================================== # CSV (WOO VARIATIONS) # ================================================== with open(OUTPUT_CSV, "w", newline="", encoding="utf-8-sig") as f: writer = csv.writer(f) writer.writerow([ "Type", "SKU", "EAN", "Stock", "Manage stock?", "Attribute 1 name", "Attribute 1 value(s)", "Source URL" ]) for item in data: writer.writerow([ "variation", item["sku"], item["ean"], item["stock"], "yes", "Size", item["size"], item["url"] ]) print("====================================") print(f"✅ Zapisano wariantów: {len(data)}") print(f"📁 Plik: {OUTPUT_CSV}") print("====================================")
Zintegrowana kierownica szosowa Vision METRON 5D ACR EVO
Pierwotna cena wynosiła: 2999,90 zł.Aktualna cena wynosi: 2799,90 zł.
Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.