From 200bf76d01dc7cf0ff38d58bb7272d2575b887bd Mon Sep 17 00:00:00 2001 From: RochoElLocho Date: Wed, 6 Dec 2023 11:56:19 +0100 Subject: [PATCH] Cookie Banner klick funktion Cookie Banner werden weg geklickt. Funktioniert nicht bei jeder webseite. --- einkauf_suche.py | 140 +++++++++++++++++++++++++++-------------------- 1 file changed, 80 insertions(+), 60 deletions(-) diff --git a/einkauf_suche.py b/einkauf_suche.py index 38eaeb7..af3b164 100644 --- a/einkauf_suche.py +++ b/einkauf_suche.py @@ -122,10 +122,10 @@ class SearchThread(QThread): 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 + 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": + elif webseite == "TVV-Verpackungen: Netze & Planen, Folien & Folienartikel, Agrar & Garten, Verpackunsmaterial": self.suche_auf_tvv() elif webseite == "Eierschachteln.de: Bedarf für Hühnerhaltung": self.suche_auf_eierschachteln() @@ -162,26 +162,21 @@ class SearchThread(QThread): search_box.send_keys(self.search_term) search_box.send_keys(Keys.RETURN) - def suche_auf_brewes(self, ): - - + def suche_auf_brewes(self): # URL für die Suche generieren search_url = f'https://www.brewes.de/catalogsearch/result?q={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) def suche_auf_conrad(self): - # WebDriver initialisieren - + # Such-URL generieren search_url = f'https://www.conrad.de/search.html?search={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "header-search"))) - + # Suchbegriff eingeben search_box = self.driver.find_element(By.ID, "header-search") search_box.clear() # Falls vorheriger Text vorhanden ist @@ -229,18 +224,19 @@ class SearchThread(QThread): # Such-URL generieren search_url = f'https://shop.kosatec.de/search?search={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "input[name='search']"))) + + cookie_button = self.driver.find_element(By.ID, "CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll") + cookie_button.click() def suche_auf_hornbach(self): # URL für die Suche generieren search_url = f'https://www.hornbach.de/s/{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.NAME, "global_search"))) + # Webseite aufrufen + self.driver.get(search_url) def suche_auf_gastroteileshop(self): @@ -266,9 +262,8 @@ class SearchThread(QThread): # URL für die Suche generieren search_url = f'https://www.tiroled.com/de/search?search={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "search"))) cookie_button = self.driver.find_element(By.CLASS_NAME, "cookie-consent-accept-only-functional-button.btn.btn-primary.cookie-consent-button-margin") cookie_button.click() @@ -279,7 +274,6 @@ 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-bar-input"))) cookie_button = self.driver.find_element(By.CSS_SELECTOR, ".cmpboxbtn.cmpboxbtnyes.cmptxt_btn_yes") cookie_button.click() @@ -288,51 +282,60 @@ class SearchThread(QThread): # URL für die Suche generieren search_url = f'https://www.baubeschlagshop.de/fts.php?criteria={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "searchcriteria"))) def suche_auf_ips_shop(self): # URL für die Suche generieren search_url = f'https://www.ips-kts.com/de/suche?query={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "query"))) + + cookie_button = self.driver.find_element(By.CLASS_NAME, "btn.btn-primary.btn-red.user-type--business") + cookie_button.click() def suche_auf_delker(self): # URL für die Suche generieren search_url = f'https://www.delker2business.com/nwsearch/execute?query={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "query"))) + + cookie_button = self.driver.find_element(By.CLASS_NAME, "nw_button__label") + cookie_button.click() def suche_auf_knauss(self): # URL für die Suche generieren search_url = f'https://knauss.info/dksearch?sSearch={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "sSearch"))) + + cookie_button = self.driver.find_element(By.CLASS_NAME, "cookie-permission--decline-button.btn.is--large.is--center") + cookie_button.click() def suche_auf_schildershop24(self): # URL für die Suche generieren search_url = f'https://www.schildershop24.de/?action=Query&-query.&query.stichwort=r{self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-query-stichwort_neu"))) + + cookie_button = self.driver.find_element(By.CLASS_NAME, "btn.btn-primary.button.set-disabled") + cookie_button.click() def suche_auf_esmeyer(self): # URL für die Suche generieren search_url = f'https://www.esmeyer-shop.de/search?search={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "search"))) + + cookie_button = self.driver.find_element(By.CLASS_NAME, "cookie-permission-button.js-cookie-permission-button") + cookie_button.click() def suche_auf_papstar(self): # URL für die Suche generieren @@ -354,18 +357,19 @@ class SearchThread(QThread): # URL für die Suche generieren search_url = f'https://www.pacovis.com/de-de/suche/1/search={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + cookie_button = self.driver.find_element(By.ID, "ppms_cm_reject-all") + cookie_button.click() def suche_auf_lusini(self): # URL für die Suche generieren search_url = f'https://www.lusini.com/de-de/search/#q={self.search_term}' - # Webseite aufrufen und auf das vollständige Laden warten + # Webseite aufrufen self.driver.get(search_url) - WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-input"))) def suche_auf_hygi(self): # URL für die Suche generieren @@ -375,6 +379,9 @@ class SearchThread(QThread): self.driver.get(search_url) WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "qbox"))) + cookie_button = self.driver.find_element(By.CLASS_NAME, "btn.btn-light.text-nowrap.btn-block.mb-2") + cookie_button.click() + # Suchbegriff eingeben und Suche starten search_box = self.driver.find_element(By.ID, "qbox") search_box.clear() # Falls vorheriger Text vorhanden ist @@ -389,7 +396,6 @@ 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"))) def suche_auf_schafferer(self): @@ -398,7 +404,6 @@ 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, "quicksearch-input"))) def suche_auf_gastronomie_kaufhaus(self): @@ -425,7 +430,9 @@ 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"))) + + cookie_button = self.driver.find_element(By.ID, "CookieBoxSaveButton") + cookie_button.click() def suche_auf_skiltex(self): @@ -461,7 +468,6 @@ 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"))) def suche_auf_ara_arbeitsschutz(self): # URL für die Suche generieren @@ -469,7 +475,9 @@ 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"))) + + cookie_button = self.driver.find_element(By.CLASS_NAME, "cmpboxbtn.cmpboxbtnno.cmptxt_btn_no") + cookie_button.click() def suche_auf_vkf_renzel(self): # URL für die Suche generieren @@ -477,7 +485,6 @@ 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"))) def suche_auf_boerner(self): # URL für die Suche generieren @@ -485,7 +492,9 @@ 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"))) + + cookie_button = self.driver.find_element(By.ID, "CookieBoxSaveButton") + cookie_button.click() def suche_auf_ggmgastro(self): # URL für die Suche generieren @@ -493,7 +502,9 @@ 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"))) + + cookie_button = self.driver.find_element(By.CLASS_NAME, "cf1y60") + cookie_button.click() def suche_auf_boettcher(self): @@ -535,7 +546,10 @@ 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"))) + cookie_button = self.driver.find_element(By.CLASS_NAME, "cmpboxbtn.cmpboxbtnno.cmptxt_btn_no") + cookie_button.click() + kunde = self.driver.find_element(By.CLASS_NAME, "btn.btn-blue-outline.redir-mask") + kunde.click() def suche_auf_transpak(self): # URL für die Suche generieren @@ -560,7 +574,6 @@ 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"))) def suche_auf_dmfolien(self): # URL für die Suche generieren @@ -568,15 +581,17 @@ 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"))) - + 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"))) + kunde = self.driver.find_element(By.CLASS_NAME, "buttonTaxConfirm.fsize14.white") + kunde.click() + cookie_button = self.driver.find_element(By.CLASS_NAME, "cf1lHZ.cf2MAH") + cookie_button.click() def suche_auf_siepmann(self): # URL für die Suche generieren @@ -584,15 +599,14 @@ 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"))) 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}' + search_url = f'https://www.fk-soehnchen.de/index.php?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 @@ -619,13 +633,17 @@ class SearchThread(QThread): self.driver.get(search_url) WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-header-mobile-top"))) + cookie_button = self.driver.find_element(By.CLASS_NAME, "cmpboxbtn.cmpboxbtnno.cmptxt_btn_no") + cookie_button.click() + 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"))) + cookie_button = self.driver.find_element(By.ID, "cookie-permission--accept-only-functional-button") + cookie_button.click() def suche_auf_kox(self): # URL für die Suche generieren @@ -633,7 +651,8 @@ 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"))) + cookie_button = self.driver.find_element(By.CLASS_NAME, "od-btn-white.bg-gray-lightest.w-full.mb-4.set_essential_cookies") + cookie_button.click() def suche_auf_reinigungsberater(self): # URL für die Suche generieren @@ -641,15 +660,15 @@ 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"))) - + cookie_button = self.driver.find_element(By.CLASS_NAME, "acceptMe") + cookie_button.click() + def suche_auf_vbshobby(self): # URL für die Suche generieren search_url = f'https://www.vbs-hobby.com/suche/?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_oekonomed(self): # URL für die Suche generieren @@ -657,7 +676,8 @@ 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"))) + cookie_button = self.driver.find_element(By.CLASS_NAME, "as-oil-l-item") + cookie_button.click() def suche_auf_rossmann(self): # URL für die Suche generieren @@ -665,7 +685,7 @@ 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"))) + def suche_auf_betzold(self): # URL für die Suche generieren @@ -673,7 +693,7 @@ 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", "Landwirtschaft", "SOZ.BETR.-Ginseldorf"] webpages = [