diff --git a/einkauf_suche.py b/einkauf_suche.py index 22fa350..3f00c93 100644 --- a/einkauf_suche.py +++ b/einkauf_suche.py @@ -117,7 +117,20 @@ class SearchThread(QThread): self.suche_auf_pml() elif webseite == "DM-Folien: Pressengarn": self.suche_auf_dmfolien() - + elif webseite == "Proficleanshop: Reinigung, Desinfektion, Hygienepapier, Medical, Einweg & Deko, Industrie, Maschinen": + self.suche_auf_proficleanshop() + elif webseite == "Siepmann: Weidezaun, Schlepperteile, Tiere, Haus & Hof, Hofladen, Lüftung & Windschutz": + self.suche_auf_siepmann() + elif webseite == "FK-Söhnchen: Landwirtschaftsbedarf, Elektrik, Landmaschinenteile, Hydraulik, Haus, Hof & Forst": + self.suche_auf_fksoehnchen + elif webseite == "Wahl-Agar: Stall, Weidezaun, Forst, Veterinär, Landmaschinen & Co., Arbeitskleidung, Haus & Hof": + self.suche_auf_wahl_agrar() + elif webseite == "TVV-Verpackungen": + self.suche_auf_tvv() + elif webseite == "Eierschachteln.de: Bedarf für Hühnerhaltung": + self.suche_auf_eierschachteln() + elif webseite == "KOX: Gartenbedarf, Schneideblätter Heckenschere, etc.": + self.suche_auf_kox() except Exception as e: print(f"Fehler bei der Suche auf {webseite}: {e}") @@ -536,9 +549,74 @@ class SearchThread(QThread): # Webseite aufrufen und auf das vollständige Laden warten self.driver.get(search_url) WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) - -categories = ["IT/EDV", "Haustechnik","Küche", "Verwaltung", "Transporte"] + def suche_auf_proficleanshop(self): + # URL für die Suche generieren + search_url = f'https://www.proficleanshop.de/searchresults/?q={self.search_term}' + + # Webseite aufrufen und auf das vollständige Laden warten + self.driver.get(search_url) + WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + def suche_auf_siepmann(self): + # URL für die Suche generieren + search_url = f'https://www.siepmann.net/siepmann_shop.php?suchfeld={self.search_term}' + + # Webseite aufrufen und auf das vollständige Laden warten + self.driver.get(search_url) + WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + def suche_auf_fksoehnchen(self): + # URL für die Suche generieren + search_url = f'https://www.fk-soehnchen.de/index.php?stoken=&lang=0&cl=search&searchparam={self.search_term}' + + # Webseite aufrufen und auf das vollständige Laden warten + self.driver.get(search_url) + WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + def suche_auf_wahl_agrar(self): + # URL für die Suche generieren + search_url = 'https://www.agrar-fachversand.com/de/' # Ersetzen Sie dies durch die tatsächliche URL für Wahl Agrar + + # Webseite aufrufen und auf das vollständige Laden warten + self.driver.get(search_url) + WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "main-search--field"))) + + # Auf die Suchleiste klicken + search_box = self.driver.find_element(By.CLASS_NAME, "main-search--field") + search_box.click() + + # Suchbegriff eingeben und Suche starten + search_box.clear() + search_box.send_keys(self.search_term) + search_box.send_keys(Keys.RETURN) + + def suche_auf_tvv(self): + # URL für die Suche generieren + search_url = f'https://www.tvv-verpackungen.de/index.php?jtl_token=86147d041429ad7dafb0c5f1a80e61e089eb4f04ec192b004ba5e69e8aaa45c5&sp_additional_mail=&qs={self.search_term}' # Ersetzen Sie dies durch die tatsächliche URL für DVV + + # Webseite aufrufen und auf das vollständige Laden warten + self.driver.get(search_url) + WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-header-mobile-top"))) + + def suche_auf_eierschachteln(self): + # URL für die Suche generieren + search_url = f'https://www.eierschachteln.de/search?sSearch={self.search_term}' + + # Webseite aufrufen und auf das vollständige Laden warten + self.driver.get(search_url) + WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + def suche_auf_kox(self): + # URL für die Suche generieren + search_url = f'https://www.kox-direct.de/?query={self.search_term}&sid=6d0b4366af8bb99af514529b7e61ad&act=search' + + # Webseite aufrufen und auf das vollständige Laden warten + self.driver.get(search_url) + WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + +categories = ["IT/EDV", "Haustechnik","Küche", "Verwaltung", "Transporte", "Landwirtschaft"] webpages = [ ["Reichelt: Technikbedarf", "Kosatec: Elektro Artikel", "Conrad: Technik Marktplatz"], ["Hornbach: Bad, Baustoffe, Holz, Fenster & Türen, Bodenbeläge, Werkzeug, Farben & Tapeten, Garten, Heizen", @@ -575,7 +653,14 @@ webpages = [ "Label-Ident: Etikettendrucker, Software & Zubehör, Thermotransfer-Farbbänder, Etiketten auf Rolle"], ["Transpak: Kartonage mit FL Logo, Stretchfolie, Packband, Versandverpackungen,Polstern, Folien und Beutel", "PML: Kassenrollen, Büro- und Funktionspapiere", - "DM-Folien: Pressengarn"] + "DM-Folien: Pressengarn"], + ["Proficleanshop: Reinigung, Desinfektion, Hygienepapier, Medical, Einweg & Deko, Industrie, Maschinen", + "Siepmann: Weidezaun, Schlepperteile, Tiere, Haus & Hof, Hofladen, Lüftung & Windschutz", + "FK-Söhnchen: Landwirtschaftsbedarf, Elektrik, Landmaschinenteile, Hydraulik, Haus, Hof & Forst", + "Wahl-Agar: Stall, Weidezaun, Forst, Veterinär, Landmaschinen & Co., Arbeitskleidung, Haus & Hof", + "TVV-Verpackungen: Netze & Planen, Folien & Folienartikel, Agrar & Garten, Verpackunsmaterial", + "Eierschachteln.de: Bedarf für Hühnerhaltung", + "KOX: Gartenbedarf, Schneideblätter Heckenschere, etc."] ] class WebseitenSucheApp(QWidget): @@ -699,6 +784,27 @@ class WebseitenSucheApp(QWidget): grid_layout.addWidget(checkbox, row+ 10, 2, 1, 2) + + category = "Landwirtschaft" + category_label = QLabel(category) + grid_layout.addWidget(category_label, 13, 2, 1, 2) + + # Add corresponding webpages in the second column + for row, webpage in enumerate(self.category_webpages_mapping[category]): + checkbox = QCheckBox(webpage) + checkbox.setChecked(self.selected_webpages[webpage]) + checkbox.stateChanged.connect(self.make_checkbox_callback(webpage)) + + green_webpages = ["Proficleanshop", "Siepmann", "FK-Söhnchen", "Wahl-Agar", "TVV-Verpackungen", "Eierschachteln.de", "KOX"] + if any(green_webpage in webpage for green_webpage in green_webpages): + checkbox.setStyleSheet("color: green;") + + yellow_webpages = [] + if any(yellow_webpage in webpage for yellow_webpage in yellow_webpages): + checkbox.setStyleSheet("color: yellow;") + + grid_layout.addWidget(checkbox, row+ 14, 2, 1, 2) + ##########################################################################################################################