Selenium Python: Нет такого файла или каталога: '/ usr / local / bin / chromedriver', но он существует и добавляется в путь - PullRequest
1 голос
/ 12 марта 2019

Попытка запустить Селен Python в Docker Apline Linux и получить ошибку «Message: 'chromedriver' должен быть в PATH", потому что он думает, что файл не существует.Но попробовал все, что могу, в других ответах, но все равно не запустится.

Вот что я попробовал до сих пор:

  • Добавил его в папку в PATH и PYTHONPATH.
  • Попытка указать путь к chromedriver при получении драйвера
  • Попытка указать путь к хрому при получении драйвера
  • Убедитесь, что браузер chromium запускается с похожими флагами
  • chmod + x на хромированном драйвере
  • chmod 777 на хромированном драйвере

См. Ошибку.in a docker un of image

Обновление: добавление этих пакетов в файл Docker.

RUN apk --update --no-cache add\
  alpine-sdk\
  autoconf\
  automake\
  bash\
  binutils-gold\
  build-base\
  curl\
  dumb-init\
  g++\
  gcc\
  gcompat\
  git\
  gnupg\
  gzip\
  jpeg\
  jpeg-dev\
  libc6-compat\
  libffi\
  libffi-dev\
  libpng\
  libpng-dev\
  libstdc++\
  libtool\
  linux-headers\
  make\
  mysql\
  mysql-client\
  mysql-dev\
  mesa-gles\
  nasm\
  nodejs\
  nss\
  openjdk8-jre\
  openssh-client\
  paxctl\
  python3\
  python3-dev\
  sudo\
  tar\
  unzip\
  wget\
  chromium

И скрипт оболочки, который я получаю Chromedriver с

#!/bin/bash

LATEST_CHROMEDRIVER=$(curl https://chromedriver.storage.googleapis.com/LATEST_RELEASE)
curl -L https://chromedriver.storage.googleapis.com/$LATEST_CHROMEDRIVER/chromedriver_linux64.zip >> chromedriver.zip
mv -f chromedriver.zip /usr/local/bin/chromedriver.zip
unzip /usr/local/bin/chromedriver.zip -d /usr/local/bin
chmod a+x /usr/local/bin/chromedriver
sudo ln -s /usr/local/bin/chromedriver /usr/bin/chromedriver
rm /usr/local/bin/chromedriver.zip

1 Ответ

1 голос
/ 24 марта 2019

Вывод ldd предполагает, что chromedriver построен против glibc (стандартная библиотека C GNU), который не совместим с vanilla Alpine, используя musl libc .

Чтобы это исправить, попробуйте установить совместимую с Alpine версию chromedriver, доступную в репозиториях Alpine, используя apk add chromium-chromedriver:

https://pkgs.alpinelinux.org/package/v3.9/community/x86_64/chromium-chromedriver

...