インターネット生活のメモ

誰かの役にたちそうな情報をメモしています。IT、インターネット販売など

【2019年12月】Ubuntuにseleniumをインストールする方法(Ubuntu16.04&python3&Webdriver)

はじめに

2019年12月、Ubuntu16.04Desktopにseleniumを入れて遊んでみようと思いましたが、古い記事が多くすぐに動きませんでした。

こちらの記事をベースに現時点で動作するように修正した手順を記載させていただきました。(https://qiita.com/shinsaka/items/37436e256c813d277d6d

 

Ubuntu16.04上でseleniumを最低限動かせるようにするところまでの手順です。この手順後に色々アレンジしてください。今回はブラウザをヘッドレスで起動してスクリーンショットを撮る手順になっています。

 

環境

Ubuntu16.04 Desktop 64bit(4.4.0-170-generic)

python3.5.2

 

手順

作業用フォルダ作成

適当なところに作成

$ mkdir src

$ cd src

 

GoogleChromeインストール

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

※ダウンロード中に「http://chromedriver.storage.googleapis.com/○○○○/chromedriver.zip」と表示されるので○○の部分をメモしておく


$ sudo dpkg -i google-chrome-stable_current_amd64.deb

 

依存モジュールをaptでインストール

$ sudo apt update
$ sudo apt -f install -y

 

$ which google-chrome
※/usr/bin/google-chromeと表示されること

 

seleniumをインストール

$ sudo apt install python3-selenium

 

unzipインストール

$ sudo apt install unzip

 

ChromeDriverインストール

$ wget https://chromedriver.storage.googleapis.com/○○○○/chromedriver_linux64.zip

※○○の部分にはGoogleCromeインストールの手順でメモしたバージョンを入力してください。うまくいかない場合はhttps://chromedriver.storage.googleapis.com/にブラウザからアクセスしメモしたバージョンに近いバージョン番号を使用してください。

 

パスの通ったディレクトリに展開
$ unzip chromedriver_linux64.zip -d ~/bin/

 

$ which chromedriver

※/home/ubuntu/bin/chromedriverと表示されること 何も表示されない場合は展開先ディレクトリにパスが通っていない可能性がある

 

日本語フォントインストール

wget --content-disposition IPAfont00303.zip https://ipafont.ipa.go.jp/IPAfont/IPAfont00303.zip

※404エラーが表示される場合はhttps://ipafont.ipa.go.jp/old/ipafont/download.htmlにブラウザからアクセスしIPAfont00303.zipのリンクを確認してください


$ sudo unzip IPAfont00303.zip -d /usr/share/fonts/

 

フォントキャッシュクリア

$ fc-cache -fv

 

サンプルソース記述

$ touch getss.py

$ vi getss.py

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = '/usr/bin/google-chrome'
options.add_argument('--headless')
options.add_argument('--window-size=1280,1024')

driver = webdriver.Chrome('chromedriver', chrome_options=options)

driver.get('https://www.google.co.jp/search?q=chrome')
driver.save_screenshot('/tmp/screenshot.png')
driver.quit()

 実行

$ python3 getss.py

※/tmpにscreenshot.pngがあることを確認

 

手順は以上です。