Selenium – google chrome

Pokud se vám stane že při spuštění skriptu např.:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import time
from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://google.com/')
time.sleep(3)
browser.quit()

vyskočí tato hláška:

Traceback (most recent call last):
  File "./test.py", line 7, in <module>;
    browser = webdriver.Chrome()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 59, in __init__
    self.service.start()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/service.py", line 66, in start
    "ChromeDriver executable needs to be available in the path. "
selenium.common.exceptions.WebDriverException: Message: ChromeDriver executable needs to be available in the path. Please download from http://chromedriver.storage.googleapis.com/index.html and read up at http://code.google.com/p/selenium/wiki/ChromeDriver

Můžete vyzkoušet můj skript, který by měl vše vyřešit 🙂 .

#!/bin/bash
  
[ "x$USER" != 'xroot' ] && echo "Please run as root." && exit 1
 
# B: COMPONENTS INSTALL
function fceGoogleChrome() {
    if [ ! -s "/etc/apt/sources.list.d/google-chrome.list" ]; then
        sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
        wget -O - "https://dl-ssl.google.com/linux/linux_signing_key.pub" | sudo apt-key add -
        sudo apt-get update 
    fi
    sudo apt-get install google-chrome-stable -y
}
 
function fceCheckInstaled() {
    if ! dpkg-query -s $prog > /dev/null 2>&1; then
        echo $prog "not installed"
        read -p "Do you want to install (y/n)? "
        if [[ "$REPLY" == "Y" ||  "$REPLY" == "y" ]]; then
            if [[ $prog == "google-chrome-stable" ]]; then
                fceGoogleChrome
            else
                sudo apt-get install $prog -y
            fi
        fi
    fi
}
 
progArray=("unzip" "curl" "wget" "python-pip" "google-chrome-stable")
for prog in ${progArray[@]}
do
    fceCheckInstaled
done
 
sudo pip install selenium
# E: COMPONENTS INSTALL
 
 
# B: CHROMEDRIVER INSTALL
VERSION=`curl "http://chromedriver.storage.googleapis.com/LATEST_RELEASE"`
 
case $(uname -m) in
x86_64)
    NAME="chromedriver_linux64.zip"
    ;;
i*86)
    NAME="chromedriver_linux32.zip"
    ;;
*)
    echo "ERROR: Unknown Architecture"
    exit
    ;;
esac
 
 
wget -P /tmp "http://chromedriver.storage.googleapis.com/"$VERSION"/"$NAME
 
if [ -f /tmp/$NAME ]
then
    sudo unzip /tmp/$NAME -d /usr/local/share
    sudo rm /tmp/$NAME
 
    sudo chmod +x /usr/local/share/chromedriver
 
    sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
    sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
else
    echo "File /tmp/"$NAME" not found"
fi
# E:  CHROMEDRIVER INSTALL