How to run selenium chromedriver as root? (not working even with --no-sandbox
The problem was in chromedriver version. I used version 2.26. After reinstallation to current version (2.35), it starts to work. So, there is only one mandatory argument --no-sandbox
and everything is working now. Thank you again.
Honza
Updated on June 09, 2022Comments
-
Honza almost 2 years
I'm trying to run chromedriver to create some selenium tests. I followed this manual to install it. I'm trying to run this code:
from selenium import webdriver driver = webdriver.Chrome(chrome_options=options)
When I call this python script as normal user, it's working. But when I call it as root (it is necessary for me), it's not working. I've tried to follow some advices and I was trying to use several Google chrome options, e.g.:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('--no-sandbox') driver = webdriver.Chrome(chrome_options=options, service_args=[ '--verbose', '--log-path=/home/me/Projects/selenium.log' ] )
But it's still not working and here is a part of log:
[1,001][INFO]: COMMAND InitSession { "capabilities": { "alwaysMatch": { "browserName": "chrome", "goog:chromeOptions": { "args": [ "--no-sandbox" ], "extensions": [ ] }, "platformName": "any" }, "firstMatch": [ { } ] }, "desiredCapabilities": { "browserName": "chrome", "goog:chromeOptions": { "args": [ "--no-sandbox" ], "extensions": [ ] }, "platform": "ANY", "version": "" } } [1,001][INFO]: Populating Preferences file: { "alternate_error_pages": { "enabled": false }, "autofill": { "enabled": false }, "browser": { "check_default_browser": false }, "distribution": { "import_bookmarks": false, "import_history": false, "import_search_engine": false, "make_chrome_default_for_user": false, "show_welcome_page": false, "skip_first_run_ui": true }, "dns_prefetching": { "enabled": false }, "profile": { "content_settings": { "pattern_pairs": { "https://*,*": { "media-stream": { "audio": "Default", "video": "Default" } } } }, "default_content_setting_values": { "geolocation": 1 }, "default_content_settings": { "geolocation": 1, "mouselock": 1, "notifications": 1, "popups": 1, "ppapi-broker": 1 }, "password_manager_enabled": false }, "safebrowsing": { "enabled": false }, "search": { "suggest_enabled": false }, "translate": { "enabled": false } } [1,001][INFO]: Populating Local State file: { "background_mode": { "enabled": false }, "ssl": { "rev_checking": { "enabled": false } } } [1,002][INFO]: Launching chrome: /opt/google/chrome/google-chrome --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-infobars --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --ignore-certificate-errors --load-extension=/tmp/.org.chromium.Chromium.3rN146/internal --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12613 --safebrowsing-disable-auto-update --test-type=webdriver --use-mock-keychain --user-data-dir=/tmp/.org.chromium.Chromium.dOwaRR data:, [1,002][DEBUG]: DevTools request: http://localhost:12613/json/version [8523:8523:0216/145622.514842:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
The strange is, that in the InitSession command there is
--no-sandbox
argument, but when the Chrome is launched, it's not. The errorRunning as root without --no-sandbox is not supported.
shows up instead.Any advice please?