Цель: автоматическое выполнение сценария python selenium при запуске. Мое текущее решение работало около полугода, но после обновления моего pi 3 дня назад происходит сбой python с этим исключением: selenium.common.exceptions.WebDriverException: Сообщение: неизвестная ошибка: файл DevToolsActivePort не существует .
Это мой код инициализации:
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-dev-shm-usage')
browser = webdriver.Chrome(chrome_options=chrome_options, service_args=["--verbose", "--log-path=/home/pi/chromedriver.log"])
browser.implicitly_wait(10)
browser.set_window_size(800, 600)
browser.get(...)
И хромедрайвер возвращает:
[1571045268,786][INFO]: Launching chrome: /usr/bin/chromium-browser --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-automation --enable-logging --force-fieldtrials=SiteIsolationExtensions/Control --headless --ignore-certificate-errors --load-extension=/tmp/.org.chromium.Chromium.ka9jxU/internal --log-level=0 --metrics-recording-only --no-first-run --no-sandbox --password-store=basic --remote-debugging-port=0 --test-type=webdriver --use-mock-keychain --user-data-dir=/tmp/.org.chromium.Chromium.13RyA2 data:,
: getrandom indicates that the entropy pool has not been initialized. Rather than continue with poor entropy, this process will block until entropy is available.
[1571045328,829][INFO]: Failed to connect to Chrome. Attempting to kill it.
[1571045328,842][INFO]: [4c8ff7afd4ca8a1d7e7d0313509df6dc] RESPONSE InitSession ERROR unknown error: DevToolsActivePort file doesn't exist
[1571045328,842][DEBUG]: Log type 'driver' lost 0 entries on destruction
[1571045328,842][DEBUG]: Log type 'browser' lost 0 entries on destruction
[0100/000000.682302:ERROR:zygote_linux.cc(660)] write: Datenübergabe unterbrochen (broken pipe) (32)
Я использую файл автозапуска ~ / .config /lxsession / LXDE-pi / autostart и эта команда: @/home/pi/script/main.py > /home/pi/script.log 2>&1 &
по пути main.py помечается как исполняемый файл и использует python3. У меня нет проблем, что когда-либо, если я вручную запускаю скрипт через ssh. Поэтому я предполагаю, что это вызвано отсутствием переменных среды или чем-то подобным во время запуска / автозапуска, что приводит к сбою хрома. Как вы можете видеть, я уже попробовал ответить на этот вопрос о переполнении стека .
Моя текущая версия с хромом Chromium 72.0.3626.121 Built on Raspbian , running on Raspbian 9.11
, а версия с хроматическим драйвером ChromeDriver 72.0.3626.121