„DevToolsActivePort-Datei existiert nicht“ beim Ausführen der Flask-App mit Selenium über den Gunicorn-DienstPython

Python-Programme
Guest
 „DevToolsActivePort-Datei existiert nicht“ beim Ausführen der Flask-App mit Selenium über den Gunicorn-Dienst

Post by Guest »

Ich versuche, eine Flask-App auszuführen, die Selenium mit Chrome WebDriver unter Ubuntu verwendet, aber ich erhalte die folgende Fehlermeldung, wenn ich die App mit Gunicorn als Dienst ausführe:
` (

Code: Select all

nknown error: DevToolsActivePort file doesn't exist)

Code: Select all

(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Hier ist eine Zusammenfassung meines Setups:
Python-Code:
Dies ist der relevante Teil meines Flask-App-Codes :

Code: Select all

from flask import Flask, request, jsonify
from datetime import datetime
import json
import sys
import requests
import sys
import logging
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Configure the logging settings
logging.basicConfig(
level=logging.INFO,  # Capture INFO and above (INFO, WARNING, ERROR, CRITICAL)
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(),  # Prints to console
logging.FileHandler('app.log', mode='a')  # Writes to a file named app.log
]
)

logging.info("Initializing the Chrome browser...")  # Debug message

# Set up Chrome browser options
options = webdriver.ChromeOptions()
options.add_argument("--disable-gpu"

)
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
# Uncomment for debugging (visible browser)
options.add_argument("--headless")
logging.info("Settings setup...")
# Initialize the WebDriver
try:
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)

logging.info("Chrome WebDriver initialized successfully.")
except Exception as e:
logging.info(f"Error initializing Chrome WebDriver: {e}")

app = Flask(__name__)
logging.info("This is a test.")
Dies ist die .service-Datei, die ich für gunicorn verwende:

Code: Select all

[Unit]
Description=Gunicorn instance to serve test Flask app
After=network.target

[Service]
User=shane
Group=www-data
WorkingDirectory=/home/shane/miniconda3/envs/test
Environment="PATH=/home/shane/miniconda3/envs/test/bin:/home/shane/miniconda3/condabin:$PATH"
ExecStart=/usr/bin/gunicorn --bind unix:app.sock wsgi:app

[Install]
WantedBy=multi-user.target
Ich starte den Dienst, indem ich diesen Befehl ausführe: sudo systemctl restart test.service
WSGI-Datei:

Code: Select all

from app import app
if __name__ == '__main__':
app.run()
Fehlerdetails in app.log:
`unk

Code: Select all

own error: Chrome failed to start: exited abnormally.

Code: Select all

(unknown error: DevToolsActivePort file doesn't exist)

Code: Select all

(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Wie kann ich dieses Problem beheben?
Überprüft, ob die Chromedriver- und Google-Chrome-Installationen korrekt sind.
Wann Ich führe einfach den Python-Code aus und erhalte keine Fehlermeldung. Wenn ich Gunicorn verwende, erhalte ich diese Fehlermeldung.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post