From d08b308bf8df192a2c39cc77371ae351ab421bb4 Mon Sep 17 00:00:00 2001 From: Floke Date: Wed, 2 Jul 2025 06:46:24 +0000 Subject: [PATCH] bugfix --- dealfront_enrichment.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dealfront_enrichment.py b/dealfront_enrichment.py index cd567572..078c4ce9 100644 --- a/dealfront_enrichment.py +++ b/dealfront_enrichment.py @@ -20,6 +20,7 @@ setup_logging(log_level=logging.DEBUG if Config.DEBUG else logging.INFO) logger = logging.getLogger(__name__) +# ... (Kontext: Zeile davor) class DealfrontScraper: """ Kapselt alle Interaktionen mit der Dealfront-Plattform mittels Selenium. @@ -28,6 +29,7 @@ class DealfrontScraper: def __init__(self): """ Initialisiert den WebDriver und den WebDriverWait. + Verwendet den system-installierten chromedriver im Docker-Container. """ logger.info("Initialisiere den DealfrontScraper und den Chrome WebDriver.") chrome_options = ChromeOptions() @@ -38,21 +40,19 @@ class DealfrontScraper: chrome_options.add_argument("--disable-dev-shm-usage") chrome_options.add_argument("--window-size=1920,1080") - chrome_options.add_argument("--disable-blink-features=AutomationControlled") - chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) - chrome_options.add_experimental_option('useAutomationExtension', False) + # Anti-Detection-Maßnahmen chrome_options.add_argument("--disable-blink-features=AutomationControlled") chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) chrome_options.add_experimental_option('useAutomationExtension', False) - # Stellt sicher, dass der korrekte ChromeDriver automatisch heruntergeladen und verwendet wird + # Da der chromedriver im Dockerfile systemweit installiert wird, + # ist der webdriver-manager nicht mehr nötig. Selenium findet den Treiber von selbst. try: - service = ChromeService(ChromeDriverManager().install()) - self.driver = webdriver.Chrome(service=service, options=chrome_options) + self.driver = webdriver.Chrome(options=chrome_options) # Wichtig, um als "echter" Browser zu erscheinen self.driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})") except Exception as e: - logger.critical(f"WebDriver konnte nicht initialisiert werden. Stellen Sie sicher, dass Chrome installiert ist. Fehler: {e}") + logger.critical(f"WebDriver konnte nicht initialisiert werden. Fehler: {e}", exc_info=True) self.driver = None raise