Селен с хромом, размещенный на докере Apple SiliconPython

Программы на Python
Anonymous
Селен с хромом, размещенный на докере Apple Silicon

Сообщение Anonymous »

Итак, я пытался запустить Selenium с помощью Google Chrome, а затем с помощью Chrome. Ничто из этого не работает нормально в моей системе Apple Silicon M2 MacOS. Я запускаю Selenium в Docker, чтобы просто открыть веб-сайт Google,com. Однако за последние дни я получаю сообщение об ошибке

Код: Выделить всё

Message: session not created: Chrome failed to start: exited normally.

Код: Выделить всё

(The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Вот Dockerfile

Код: Выделить всё

FROM --platform=linux/amd64 python:3.9

ENV DEBIAN_FRONTEND noninteractive

RUN pip install --upgrade pip

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /app

COPY requirements.txt ./

RUN pip install -r requirements.txt --no-cache-dir

COPY . .

RUN apt update -y && apt install libgl1-mesa-glx sudo chromium chromium-driver -y

# Command to run the script
CMD ["python", "main.py"]
Файл main.py:

Код: Выделить всё

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
import time

chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--headless")  # Ensure GUI is off
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--window-size=1920,1080")
chrome_options.add_argument("--remote-debugging-port=9222")  # this

driver = webdriver.Chrome(options=chrome_options)

driver.get("https://www.google.com")

time.sleep(10)

print(driver.title)

driver.quit()

display.stop()
Я пытался изменить различные параметры, добавив --remote-debugging-port=9222, как предлагают другие, добавив --no-sandbox задолго до --headless< /code>, но ни одно из действий по устранению этой проблемы не помогло.

Подробнее здесь: https://stackoverflow.com/questions/786 ... le-silicon

Вернуться в «Python»