42Cummer commited on
Commit
85350a0
·
verified ·
1 Parent(s): 52801fb

selenium SUCKSSSS

Browse files
Files changed (2) hide show
  1. Dockerfile +17 -0
  2. app.py +3 -1
Dockerfile CHANGED
@@ -1,5 +1,18 @@
1
  FROM python:3.10-slim
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  WORKDIR /app
4
 
5
  COPY requirements.txt requirements.txt
@@ -7,4 +20,8 @@ RUN pip install -r requirements.txt
7
 
8
  COPY . .
9
 
 
 
 
10
  CMD ["gunicorn", "--bind", "0.0.0.0:7860", "app:app"]
 
 
1
  FROM python:3.10-slim
2
 
3
+ # Install system dependencies for Chrome/Chromium
4
+ RUN apt-get update && apt-get install -y \
5
+ wget \
6
+ gnupg \
7
+ unzip \
8
+ curl \
9
+ && wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
10
+ && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
11
+ && apt-get update \
12
+ && apt-get install -y google-chrome-stable \
13
+ && apt-get clean \
14
+ && rm -rf /var/lib/apt/lists/*
15
+
16
  WORKDIR /app
17
 
18
  COPY requirements.txt requirements.txt
 
20
 
21
  COPY . .
22
 
23
+ # Create necessary directories for Selenium and webdriver-manager
24
+ RUN mkdir -p /tmp/selenium /tmp/webdriver-manager
25
+
26
  CMD ["gunicorn", "--bind", "0.0.0.0:7860", "app:app"]
27
+
app.py CHANGED
@@ -16,6 +16,8 @@ import pytz
16
  from webdriver_manager.chrome import ChromeDriverManager
17
 
18
  os.environ["SE_CACHE_PATH"] = "/tmp/selenium"
 
 
19
 
20
  app = Flask(__name__)
21
  CORS(app)
@@ -267,7 +269,7 @@ def seek():
267
  options.add_argument("--remote-debugging-port=9222")
268
 
269
  # Use webdriver-manager to automatically handle ChromeDriver
270
- service = Service(ChromeDriverManager().install())
271
  driver = webdriver.Chrome(service=service, options=options)
272
  driver.get(url)
273
 
 
16
  from webdriver_manager.chrome import ChromeDriverManager
17
 
18
  os.environ["SE_CACHE_PATH"] = "/tmp/selenium"
19
+ os.environ["WDM_LOCAL"] = "1"
20
+ os.environ["WDM_CACHE_PATH"] = "/tmp/webdriver-manager"
21
 
22
  app = Flask(__name__)
23
  CORS(app)
 
269
  options.add_argument("--remote-debugging-port=9222")
270
 
271
  # Use webdriver-manager to automatically handle ChromeDriver
272
+ service = Service(ChromeDriverManager(cache_path="/tmp/webdriver-manager").install())
273
  driver = webdriver.Chrome(service=service, options=options)
274
  driver.get(url)
275