Error on running chromedriver in CentOS 6.6

Asked by Jada Wilcox on
Tags: running error
6 Answers

Answer by Aliya Daniel

i am getting the error like below:,I am trying to run this python test script:,I have download and tried all the version of the chromedriver in my centos 6.6 version to run selenium.,I Have followed this: http://selftechy.com/2011/08/17/running-selenium-tests-with-chromedriver-on-linux

i am getting the error like below:

./chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./chromedriver)

I am trying to run this python test script:

driver = webdriver.Chrome('/home/intel/Downloads/chromedriver')
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()

Source: https://www.py4u.net/discuss/1816538


Answer by Phoenix Little

You can also try removing the retry completely for the purpose of this testing. The goal is to not rely on Facebook Webdriver's timeout settings. You want to let the application run until Chrome Driver gives you an error.,After you learn how to manipulate Chrome Driver yourself, it's a piece of cake to understand how Dusk interacts with Facebook Webdriver to create an easy API for us to test the application.,This will probably be enough time for Chrome Driver to actually tell you what is wrong.,I think I was only able to run Chromium without the sandbox flag, not Chrome.

./vendor/laravel/dusk/bin/chromedriver-linux
Starting ChromeDriver 2.25.426924 (649f9b868f6783ec9de71c123212b908bf3b232e) on port 9515
Only local connections are allowed.

Source: https://github.com/laravel/dusk/issues/98


Answer by Andre Randolph

This service helps you to run ChromeDriver seamlessly when running tests with the WDIO testrunner. It uses the chromedriver NPM package that wraps the ChromeDriver for you.,Note:\ If you're working with WebdriverIO v7, use version 7.X.X\ If you're working with WebdriverIO v6, use version 6.X.X\ If you're working with WebdriverIO v5, use version 5.X.X,Note - this service does not require a Selenium server, but uses ChromeDriver to communicate with the browser directly. Obviously, it only supports:,By design, only Google Chrome is available (when installed on the host system). In order to use the service you need to add chromedriver to your service array:

capabilities: [{    browserName: 'chrome'}]

Source: https://webdriver.io/docs/wdio-chromedriver-service/


Answer by Bianca Dillon

By default, Dusk uses Google Chrome and a standalone ChromeDriver installation to run your browser tests. However, you may start your own Selenium server and run your tests against any browser you wish.,To get started, you should install Google Chrome and add the laravel/dusk Composer dependency to your project:,To run Dusk tests on Heroku CI, add the following Google Chrome buildpack and scripts to your Heroku app.json file:,Installation Managing ChromeDriver Installations Using Other Browsers

To get started, you should install Google Chrome and add the laravel/dusk Composer dependency to your project:

composer require --dev laravel/dusk

After installing the Dusk package, execute the dusk:install Artisan command. The dusk:install command will create a tests/Browser directory and an example Dusk test:

php artisan dusk:install

If you would like to install a different version of ChromeDriver than what is included with Laravel Dusk, you may use the dusk:chrome-driver command:

# Install the latest version of ChromeDriver for your OS...
php artisan dusk:chrome-driver

# Install a given version of ChromeDriver for your OS...
php artisan dusk:chrome-driver 86

# Install a given version of ChromeDriver for all supported OSs...
php artisan dusk:chrome-driver --all

# Install the version of ChromeDriver that matches the detected version of Chrome / Chromium for your OS...
php artisan dusk:chrome-driver --detect

To get started, open your tests/DuskTestCase.php file, which is the base Dusk test case for your application. Within this file, you can remove the call to the startChromeDriver method. This will stop Dusk from automatically starting the ChromeDriver:

/**
 * Prepare for Dusk test execution.
 *
 * @beforeClass
 * @return void
 */
public static function prepare()
{
    // static::startChromeDriver();
}

Next, you may modify the driver method to connect to the URL and port of your choice. In addition, you may modify the "desired capabilities" that should be passed to the WebDriver:

/**
 * Create the RemoteWebDriver instance.
 *
 * @return \Facebook\WebDriver\Remote\RemoteWebDriver
 */
protected function driver()
{
    return RemoteWebDriver::create(
        'http://localhost:4444/wd/hub', DesiredCapabilities::phantomjs()
    );
}

Source: https://laravel.com/docs/8.x/dusk


Answer by Khari McKee

selenium.common.exceptions.WebDriverException: Message: chrome not reachable,I recently faced a Chrome not reachable error while running a Selenium test in Chrome browser on a Ubuntu machine. I had a hard time isolating the problem because I was trying to get setup with Chrome driver on Ubuntu as part of a Docker image.,hey this works for WSL issue with chromedriver and selenium-python. I was trying to access a website but kept getting “chrome not reachable”. Thanks!,Hi Stanlin, You tried to run a Selenium test on WSL & keep getting chrome not reachable?

#Selenium script to print the title of http://qxf2.com
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
chrome_options = Options()
#argument to switch off suid sandBox and no sandBox in Chrome 
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-setuid-sandbox")
 
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('http://qxf2.com')
print driver.title
driver.quit()

Source: https://qxf2.com/blog/chrome-not-reachable-error/


Answer by Julia Hill

The installation of Google Chrome above CentOS / RedHat 7 can be fully referencedhttps://intoli.com/blog/insta…(version 6 and below is not applicable).,Three points should be noted during installation and compilation:,Compare the delay effect of playing Dahua RTSP video stream in the higher version of Google Chrome with that of playing RTSP simultaneously in Dahua’s official web player! (video presentation) ,The script will automatically detect and download the missing dependency packages in the current version of chrome.

CentOS version

lsb_release -a

The server should specify an appropriate Yum source to avoid the embarrassment of not finding some dependencies.
Modify / etc/ yum.repos .d/CentOS- Base.repo , you can use Alibaba’s Yum repo:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all

according tohttps://intoli.com/blog/insta…, execute the command:

curl https://intoli.com/install-google-chrome.sh | bash

Check for lack of dependency:

ldd /opt/google/chrome/chrome | grep "not found"

implement

google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.suning.com/。

The access is successful. A screenshot will be generated in the current directory screenshot.png If the error is reported

[0100/000000.311368:ERROR:broker_posix.cc(43)] Invalid node channel message

You need to install the dependency package:

yum install  \
 ipa-gothic-fonts \
 xorg-x11-fonts-100dpi \
 xorg-x11-fonts-75dpi \
 xorg-x11-utils \
 xorg-x11-fonts-cyrillic \
 xorg-x11-fonts-Type1 \
 xorg-x11-fonts-misc -y 

After decompression, deploy to the / opt / drivers directory, and try to run:

./chromedriver 
Starting ChromeDriver 72.0.3626.7 (efcef9a3ecda02b2132af215116a03852d08b9cb) on port 9515
Only local connections are allowed.
[1550143530.011][SEVERE]: CreatePlatformSocket() returned an error, errno=0: Address family not supported by protocol (97)
  • Install pip
    Python comes with PIP by default. In the scripts directory of the installation directory, you can configure it to the environment variable by yourself. After the configuration is completed, enter:pip -VIf the corresponding version number appears, the installation is successful!
  • Install selenium
    Shell input:pip install seleniumTip: successfully installed selenium – the installation is successful!
python
>>>from selenium import webdriver
>>>driver = webdriver.Chrome()
>>>driver.get('https://www.baidu.com')

1、/lib64/libc.so.6: version `GLIBC_2.14′ not found (required by ./chromedriver)

#View system version
cat /etc/redhat-release 
#View glibc supported versions
strings /lib64/libc.so.6 |grep GLIBC_

wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz 
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz 
tar -xvf  glibc-2.14.tar.gz 
tar -xvf  glibc-ports-2.14.tar.gz
mv glibc-ports-2.14 glibc-2.14/ports
mkdir glibc-2.14/build
cd glibc-2.14/build 
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

2、/lib64/libc.so.6: version `GLIBC_2.16′ not found (required by ./chromedriver)

wget http://ftp.gnu.org/gnu/glibc/glibc-2.16.0.tar.gz 
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.16.0.tar.gz 
tar -xvf  glibc-2.16.0.tar.gz 
tar -xvf  glibc-ports-2.16.0.tar.gz
mv glibc-ports-2.16.0 glibc-2.16.0/ports
mkdir glibc-2.16.0/build
cd glibc-2.16.0/build 
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install 

report errors

Unmatched ( in regex; marked by  HERE in m/$( <-- HERE if $(abi-64-ld-soname),$(abi-64-ld-soname),ld/ at scripts/test-installation.pl line
  • glibc-2.16.0/Makefile
ifeq (,$(install_root))
      CC="$(CC)" $(PERL) scripts/test-installation.pl $(common-objpfx)
endif

Change to

ifeq (,$(install_root))
     LD_SO=$(ld.so-version) CC="$(CC)" $(PERL) scripts/test-installation.pl $(common-objpfx)
endif
  • glibc-2.16.0/scripts/test-installation.pl
sub usage {
    print "Usage: test-installation [soversions.mk]\n";

Add above

if ($ENV{LD_SO}) {
  $LD_SO = $ENV{LD_SO};
} else {
  $LD_SO= "";
}

sub usage {
    print "Usage: test-installation [soversions.mk]\n";

stay

} else {
  if (/^ld\.so/) {
     ($ld_so_name, $ld_so_version)= /=(.*)\.so\.(.*)$/;

Add above

} elsif ($LD_SO ne "") {
    ($ld_so_name, $ld_so_version) = split ('\.so\.', $LD_SO);
} else {
  if (/^ld\.so/) {
     ($ld_so_name, $ld_so_version)= /=(.*)\.so\.(.*)$/;

Source: https://developpaper.com/centos-6-x-crawler-environment-of-headless-chrome-chromedriver-selenium/