LoginSignup
26
17

More than 1 year has passed since last update.

Linux上にPython+Selenium+Chromeの動作環境を構築する

Last updated at Posted at 2022-02-18

はじめに

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.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」と検索する、という内容となってます。

sample.py
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を用いた開発に伴い環境構築を行ったため、メモ程度に本記事にまとめてみました。
少しでも何かしらの参考になれば幸いです。

参考

26
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
17