I'm extending a python 3 docker image to run chrome headlessly for a robot framework test library. Chrome was working, but is now failing with this error:
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
I've tried using chromedriver 83 instead of 84 and I tried deleting my images and rebuilding them. My Dockerfile looks like this:
FROM python:3
RUN apt-get update -y
# Dependencies
RUN apt-get install -y \
apt-utils \
build-essential \
fonts-liberation \
gconf-service \
libappindicator1 \
libasound2 \
libcurl4 \
libffi-dev \
libgconf-2-4 \
libindicator7 \
libnspr4 \
libnss3 \
libpango1.0-0 \
libssl-dev \
libxss1 \
libgbm1 \
python-dev \
python-pip \
python-pyasn1 \
python-pyasn1-modules \
unzip \
wget \
xdg-utils \
xvfb \
libappindicator3-1 \
libatk-bridge2.0-0 \
libgtk-3-0 \
lsb-release
RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& dpkg -i google-chrome*.deb \
&& rm google-chrome*.deb \
&& wget -q https://chromedriver.storage.googleapis.com/84.0.4147.30/chromedriver_linux64.zip \
&& unzip chromedriver_linux64.zip \
&& rm chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin \
&& chmod +x /usr/local/bin/chromedriver
RUN python3 -m pip install selenium
RUN python3 -m pip install robotframework
RUN python3 -m pip install --upgrade robotframework-seleniumlibrary
And I have this in my resources.robot file to start chrome/chromedriver:
Open Chrome Browser
${options} Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
Call Method ${options} add_argument --no-sandbox
Call Method ${options} add_argument --headless
${prefs} Create Dictionary download.default_directory=${TMP_PATH}
Call Method ${options} add_experimental_option prefs ${prefs}
Create Webdriver Chrome chrome_options=${options}
Docker Login
Start Virtual Display 1920 1080
Open Chrome Browser
Go To ${URL}
I've been stuck on this for a couple of days so any ideas of how I can get chrome/chromedriver working again would be rad!