Поначалу у меня были трудности с хромом для проверки зависимостей, сейчас вроде всё добавил, но браузер всё равно не запускается с следующая ошибка:
Код: Выделить всё
Message: session not created: Chrome failed to start: exited normally.
(session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/local/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Вот мой файл docker:< /p>
Код: Выделить всё
RUN curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list >> /etc/apt/sources.list.d/mssql-release.list
RUN apt -y update
RUN ACCEPT_EULA=Y apt install -y msodbcsql18
RUN curl -s https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json > /tmp/versions.json
RUN curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add && echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list.d/google-chrome.list
RUN apt update && apt install python3-pytest jq iputils-ping -y
RUN apt-get update && apt-get install -y \
libnss3 \
libxcomposite1 \
libxcursor1 \
libxi6 \
libglu1-mesa \
libgconf-2-4 \
libxss1 \
libappindicator3-1 \
libasound2 \
fonts-liberation \
libatk-bridge2.0-0 \
libgtk-3-0 \
libdrm2 \
libxrandr2 \
libgbm1 \
libx11-xcb1 \
libxcb1 \
libfontconfig1 \
--no-install-recommends && \
rm -rf /var/lib/apt/lists/*
RUN CHROMEDRIVER_URL=$(jq -r '.channels.Stable.downloads.chromedriver[] | select(.platform=="linux64") | .url' /tmp/versions.json) && \
wget -q --continue -O /tmp/chromedriver-linux64.zip $CHROMEDRIVER_URL && \
unzip /tmp/chromedriver-linux64.zip -d /usr/bin/ && \
mv /usr/bin/chromedriver-linux64/chromedriver /usr/bin/ && \
chmod +x /usr/bin/chromedriver
RUN CHROME_URL=$(jq -r '.channels.Stable.downloads.chrome[] | select(.platform=="linux64") | .url' /tmp/versions.json) && \
wget -q --continue -O /tmp/chrome-linux64.zip "$CHROME_URL" && \
unzip /tmp/chrome-linux64.zip -d /opt/chrome && \
ln -s /opt/chrome/chrome-linux64/chrome /usr/local/bin/google-chrome
RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/chromedriver-linux64.zip /tmp/versions.json
RUN mkdir -p /.cache/selenium && chmod -R 777 /.cache/selenium
RUN google-chrome --version
RUN chromedriver -v
Код: Выделить всё
options = Options()
options.binary_location = '/usr/local/bin/google-chrome'
options.add_argument("no-sandbox")
options.add_argument("ignore-certificate-errors")
options.add_argument("headless")
options.add_argument("start-maximized")
options.add_argument("window-size=1920,1080")
options.add_argument("disable-dev-shm-usage")
options.add_argument("disable-gpu")
options.page_load_strategy = 'eager'
browser = webdriver.Chrome(options=options)
Код: Выделить всё
options.add_argument("remote-debugging-port=9222")
Опытным путем я выяснил, что проблема с теми же настройками появляется только в том случае, если вы используете Chrome выше 127 версии. Более того, я пробовал запустить 127 версию обычного Хрома и Хрома для проверки, все работает корректно, но на версии 128 и новее возникает такая ошибка.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ot-created