はじめに
SeleniumとはWebブラウザの操作を自動化できるフレームワークのことです。
本記事ではSeleniumを使う環境の一つとして、Linux上にPython+Selenium+Chromeの環境を構築する手順を紹介します。
構成
今回使うLinux環境は、以下のようなインスタンスをAWSにて作成しました。
項目 | 設定値 |
---|---|
プラットフォーム | Amazon Linux |
インスタンスタイプ | t2.micro |
環境構築
以降のコマンドはデフォルトのユーザ(ec2-user)を使った場合のものとなってます。
Python3のインストール
まず、yumのアップデートを実行します。
$ sudo yum update
yumのアップデートが完了後、Python3のインストールを行います。
Python3をインストール時に合わせてpip3もインストールされます。
$ sudo yum install python3
なお、Amazon Linuxではデフォルトでpython
コマンドにはPython2の方が適用されています。(python -V
で確認可能)
そのため、Python3で実行したい場合はpython3
コマンドを使う必要があります。
Seleniumのインストール
pip3
コマンドでSeleniumをインストールします。
$ pip3 install selenium
Chromeのインストール
インストールのためにChromeのリポジトリを設定します。
viを用いてファイル[google-chrome.repo]を作成します。
$ sudo vi /etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=0
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
設定したリポジトリを使ってChromeをyumでインストールします。
$ sudo yum install --enablerepo=google-chrome google-chrome-stable
インストールしたChromeのバージョンを確認します。
$ google-chrome --version
chromedriverのインストール
SeleniumをChromeで使用するために必要なchromedriverをwgetでインストールします。
なお、chromedriverは先ほど確認したChromeとバージョンを合わせる必要があります。
今回Chromeのバージョンが98だったため、バージョンが98のchromedriverをインストールする場合のコマンドを載せています。
他バージョンのchromedriverが必要な場合はダウンロードサイトを参考にwget
コマンドの後ろを書き換えて下さい。
$ wget https://chromedriver.storage.googleapis.com/98.0.4758.102/chromedriver_linux64.zip
インストールしたchromedriverのzipファイルを解凍します。
$ unzip chromedriver_linux64.zip
chromedriverをパスが通っている場所に移動させます。
$ sudo mv chromedriver /usr/local/bin/
chromedriverの権限を変更します。
$ chmod 755 /usr/local/bin/chromedriver
不要になったchromedriverのzipファイルは削除します。
$ rm chromedriver_linux64.zip
以上で環境構築完了です。
サンプルコード
簡単なものですが、構築した環境で実行できるサンプルコードを載せておきます。
動作はgoogleのトップページから「chrome」と検索する、という内容となってます。
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://google.com")
sleep(3)
driver.find_element_by_name("q").send_keys("chrome")
sleep(3)
driver.find_element_by_name("q").submit()
sleep(3)
driver.quit()
最後に
Seleniumを用いた開発に伴い環境構築を行ったため、メモ程度に本記事にまとめてみました。
少しでも何かしらの参考になれば幸いです。
参考