bugfix
This commit is contained in:
@@ -38,13 +38,16 @@ OUTPUT_DIR = "/app/output"
|
|||||||
|
|
||||||
class DealfrontScraper:
|
class DealfrontScraper:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
logger.info("Initialisiere DealfrontScraper und Chrome WebDriver.")
|
"""
|
||||||
|
Initialisiert den WebDriver und den WebDriverWait.
|
||||||
|
Verwendet explizit den im Dockerfile installierten chromedriver.
|
||||||
|
"""
|
||||||
|
logger.info("Initialisiere den DealfrontScraper und den Chrome WebDriver.")
|
||||||
chrome_options = ChromeOptions()
|
chrome_options = ChromeOptions()
|
||||||
|
|
||||||
# NEU: Lade-Optimierungen
|
# Lade-Optimierungen und Headless-Argumente
|
||||||
prefs = {"profile.managed_default_content_settings.images": 2}
|
prefs = {"profile.managed_default_content_settings.images": 2}
|
||||||
chrome_options.add_experimental_option("prefs", prefs)
|
chrome_options.add_experimental_option("prefs", prefs)
|
||||||
|
|
||||||
chrome_options.add_argument("--headless")
|
chrome_options.add_argument("--headless")
|
||||||
chrome_options.add_argument("--no-sandbox")
|
chrome_options.add_argument("--no-sandbox")
|
||||||
chrome_options.add_argument("--disable-dev-shm-usage")
|
chrome_options.add_argument("--disable-dev-shm-usage")
|
||||||
@@ -53,8 +56,14 @@ class DealfrontScraper:
|
|||||||
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
|
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
|
||||||
chrome_options.add_experimental_option('useAutomationExtension', False)
|
chrome_options.add_experimental_option('useAutomationExtension', False)
|
||||||
|
|
||||||
|
# --- ENTSCHEIDENDE ÄNDERUNG ---
|
||||||
|
# Wir geben den Pfad zum funktionierenden, system-installierten Treiber explizit an.
|
||||||
|
# Dies umgeht den fehlerhaften webdriver-manager vollständig.
|
||||||
|
from selenium.webdriver.chrome.service import Service
|
||||||
|
service = Service(executable_path='/usr/bin/chromedriver')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.driver = webdriver.Chrome(options=chrome_options)
|
self.driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||||
self.driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
|
self.driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.critical(f"WebDriver konnte nicht initialisiert werden. Fehler: {e}", exc_info=True)
|
logger.critical(f"WebDriver konnte nicht initialisiert werden. Fehler: {e}", exc_info=True)
|
||||||
@@ -62,7 +71,7 @@ class DealfrontScraper:
|
|||||||
raise
|
raise
|
||||||
|
|
||||||
self.wait = WebDriverWait(self.driver, 30)
|
self.wait = WebDriverWait(self.driver, 30)
|
||||||
logger.info("WebDriver erfolgreich initialisiert (Bild-Laden deaktiviert).")
|
logger.info("WebDriver erfolgreich initialisiert.")```
|
||||||
|
|
||||||
def _load_credentials(self):
|
def _load_credentials(self):
|
||||||
# (Diese Methode bleibt unverändert)
|
# (Diese Methode bleibt unverändert)
|
||||||
|
|||||||
Reference in New Issue
Block a user