'selenium.common.exceptions.WebDriverException: Message: u'chrome not available

I use webdriver to configure the router, but when I run the script:

from selenium import webdriver self.driver = webdriver.Chrome() 

It opens chrome and does not respond, and then raises an exception:

chrome is not available.

My computer has two network cards, when I deny one, it works well.
I don’t know why, please help!

+6
source share
2 answers

In the pure case, "chrome not reachable" means that Chrome can be started, but the debug port is not available.

The debug port is set by the argument: --remote-debugging-port = 12582

In my case, this is because some problems with the sandbox:

 ps afvvx | grep chrome /opt/google/chrome/chrome --disable-background-networking --disable-client-side-phishing 21026 pts/2 S+ 0:00 0 47 6008 100 0.0 | \_ cat 21027 pts/2 S+ 0:00 0 47 6008 100 0.0 | \_ cat 21029 pts/2 Z+ 0:00 0 0 0 0 0.0 | \_ [chrome-sandbox] <defunct> 

When I run / opt / google / chrome / chrome -sandbox

 # /opt/google/chrome/chrome-sandbox -h The setuid sandbox provides API version 1, but you need 0 Please read [https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment][1]. close: Bad file descriptor Read on socketpair: Success 

From the url above I cannot get what I will do to fix SUID SandBox, but it can be disabled using Chrome arg --disable-setuid-sandbox (sometimes with --no-sandbox):

 import time from selenium import webdriver from xvfbwrapper import Xvfb vdisplay = Xvfb() vdisplay.start() from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-setuid-sandbox") driver = webdriver.Chrome('/usr/local/sbin/chromedriver', chrome_options=chrome_options) # Optional argument, if not specified will search path. driver.get('http://www.google.com/xhtml'); time.sleep(5) # Let the user actually see something! search_box = driver.find_element_by_name('q') search_box.send_keys('ChromeDriver') search_box.submit() time.sleep(5) # Let the user actually see something! driver.quit() vdisplay.stop() 
+6
source

In another case, when some package is not installed as dbus-X11:

 /opt/google/chrome/google-chrome --no-sandbox --disable-setuid-sandbox --disable-background-networking --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-hang-monitor --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --ignore-certificate-errors --load-extension=/tmp/.com.google.Chrome.a0gQAp/internal --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12512 --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --test-type=webdriver --use-mock-keychain --user-data-dir=/tmp/.com.google.Chrome.dgq4j1 data:, [39330:39330:0501/130308:ERROR:browser_main_loop.cc(185)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. Xlib: extension "RANDR" missing on display ":1070". Xlib: extension "RANDR" missing on display ":1070". [39330:39330:0501/130308:ERROR:desktop_window_tree_host_x11.cc(830)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType) (google-chrome:39330): GConf-WARNING **: Client failed to connect to the D-BUS daemon: /usr/bin/dbus-launch terminated abnormally without any error message [39330:39353:0501/130308:ERROR:browser_gpu_channel_host_factory.cc(151)] Failed to create channel. 

Just install it with:

 apt-get install dbus-X11 
+1
source

Source: https://habr.com/ru/post/1215896/


All Articles