Seleninum Chrome ошибка сеанса драйвера на docker - PullRequest
0 голосов
/ 10 апреля 2020

Я использую docker image selenium / standalone- chrome: 4.0.0 для запуска selenium, а вчера только начал выдавать ошибки.

Это мой chrome веб-драйвер опции:

val chromeOptions = ChromeOptions()

chromeOptions.setHeadless(isHeadless)
chromeOptions.addArguments(
            "--whitelisted-ips",
            "--no-sandbox",
            "--disable-extensions",
            "start-maximized",
            "enable-automation",
            "--disable-infobars",
            "--disable-dev-shm-usage",
            "--disable-browser-side-navigation",
            "--disable-gpu", "window-size=1980,960"
        )

Я получаю следующие ошибки:

сеанс удален из-за сбоя страницы cra sh (информация сеанса: chrome без головы = 81.0.4044.92 ) Информация о сборке: версия: «неизвестно», ревизия: «неизвестно», время: «неизвестно» Системная информация: хост: «ip-10-0-3-6.eu-west-1.compute.internal», ip: '10 .0.3.6 ', os.name:' Linux ', os.arch:' amd64 ', os.version:' 4.14.152-127.182.amzn2.x86_64 ', java .version:' 1.8.0_242 'Информация о драйвере: org.openqa.selenium. chrome .ChromeDriver Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.92, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b ..., userDataD : /tmp/.com.google.Chrome.LfBvAx}, goog: chromeOptions: {debuggerAddress: localhost: 40023}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: нет, p latform: LINUX, platformName: LINUX, proxy: Proxy (), setWindowRect: true, strictFileInteractability: false, тайм-ауты: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: отклонить и уведомить, webauthn: virtualAuthenticators: true} Идентификатор сеанса: bfce4fb924589b8929dc0351195352e1 *** Информация об элементе: {Using = id, значение = XXXXX`

недопустимый идентификатор сеанса Информация о сборке: версия: 'unknown', редакция: 'unknown', время: ' неизвестно 'Системная информация: хост:' ip-10-0-3-6.eu-west-1.compute.internal ', ip: '10 .0.3.6', os.name: 'Linux', os.arch : 'amd64', os.version: '4.14.152-127.182.amzn2.x86_64', java .version: '1.8.0_242' Информация о драйвере: org.openqa.selenium. chrome .ChromeDriver Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.92, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b ..., userDataDir: /tmp/.com.google.Chrome.LfBvAx}, goog: chromeOptions : {debuggerAddress: localhost: 40023}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoa dStrategy: нет, платформа: LINUX, имя_платформы: LINUX, прокси-сервер: Proxy (), setWindowRect: true, strictFileInteractability: false, тайм-ауты: {неявный: 0, pageLoad: 300000, сценарий: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn: virtualAuthenticators: true} Идентификатор сеанса: bfce4fb924589b8929dc0351195352e1

Если мне нужно добавить больше кода, сообщите мне.

Заранее спасибо!

1 Ответ

0 голосов
/ 11 апреля 2020

Похоже, что некоторые версии Chrome на некоторых страницах содержат sh в Docker контейнерах из-за слишком малого / dev / shm.

Чтобы решить эту проблему, просто смонтируйте -v /dev/shm:/dev/shm

Или, если хотите, создайте большой shm

  1. Запущено в привилегированном режиме: docker run --privileged

  2. Fix small / dev / shm size

docker exec $id sudo umount /dev/shm
docker exec $id sudo mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime,size=512M tmpfs /dev/shm

Выше взято из здесь и кредита идет к соответствующему владельцу.

Вы также можете использовать Firefox, и это должно работать без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...