このチュートリアルの概要

このチュートリアルでは、ブラウザ自動操作ライブラリである、Seleniumを利用して、ブラウザ自動操作を行う方法について解説します。

このチュートリアルをやる前に学習が必要なこと

このチュートリアルをやる前に、

  1. スクレイピングの基礎
  2. UNIXコマンドを利用したファイル操作

が理解できていることが望ましいですので、以下のチュートリアルをやってみてください。

Command Line
UNIXコマンドを覚えます。

 

学習の手順

このチュートリアルでは、以下の順序で学習していきます。

  1. AWS Cloud9の会員登録
  2. AWS Cloud9で、新規プロジェクトの作成
  3. AWS Cloud9でSeleniumが使える、環境構築
  4. AWS Cloud9上で、Seleniumを動かす

チュートリアル動画も作成したので、こちらをみながら進めていただくとさらに理解しやすいです。

 

AWS Cloud9の会員登録+プロジェクトの作成

プロジェクトを作成します。利用はほとんど無料で行うことができます。詳しくは下記サイトをご覧ください。

https://aws.amazon.com/jp/cloud9/

コンソールにサインインをクリックすると、ログイン画面になります。

 

こちらから、ログインしてください。

ログイン後、こちらのURLをクリックしてください。

https://us-west-2.console.aws.amazon.com/cloud9/home

 

Create Environmentをクリックします。

その後、以下の情報を記入します。

  • Name:Selenium Project
  • Description:記入しなくてOK

終わったら、Next Stepをクリックします。

以下のように設定してください。

  • Environment type: Create a new instance for environment (EC2)
  • Instance type:t2.micro (1 GiB RAM + 1 vCPU)
  • Platform:Ubuntu Server 18.04 LTS
  • Cost-saving setting: After 30 minutes

これができたら、Next Stepをクリックしてください。

クリックすると、確認画面になるので、最後にCreate Environmentをクリックします。

そうすると、だいたい1-2分ほどで環境構築がおわるので、それまで待機します。

プロジェクトの作成

プロジェクトフォルダの作成を行います。

ターミナルを選択します。

以下のコマンドを入力してください。

mkdir selenium_project
cd selenium_project

備考)mkdir, cdの意味が分からない方は、Progateの以下のコースで学習してください。

Google Chr0meのインストール

Google Chromeのインストールを行います。

備考)curlは、HTTPの通信を行うことができるコマンドです。URL先のシェルスクリプト(.sh)を取得して、それをbashコマンドを実行しろという命令を行っています。こうすることで、Google Chromeをインストールすることができます。

完了した際には、以下のような文言が出てくると思うので、見てみてください。

Successfully installed google-chrome-stable, Google Chrome 81.0.4044.138

上記のバージョン(今回の場合だと、Ver 81.0)のChrome Driverをインストールします。

Chrome Driverのインストール

こちらのサイトから、Chrome DriverのURLを確認します。

この時、上記のVerに合致しているものを選びましょう。

https://chromedriver.chromium.org/downloads

 

Linux版のChrome Driverをダウンロードするために、右クリックで指定されたzipファイルのURLをコピーします。

こんな感じのURLになるはずです。

https://chromedriver.storage.googleapis.com/81.0.4044.138/chromedriver_linux64.zip

その後、以下のコマンドのようにファイルをダウンロードします。ZIPファイルなので、解凍してください。

wget https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_linux64.zip
unzip chromedriver_linux64.zip

wgetは、ファイルダウンロードを行うときのコマンド、unzipはZIPで圧縮されているファイルを解凍するときにコマンドです。

Seleniumのインストール

最後に、Seleniumをインストールしてください。

sudo pip install selenium

これで、準備が完了しました。

Googleの検索結果をスクショする

実際に、こちらのサイトにアクセスして、その画面のスクショを保存してみましょう!

New Fileを選択し、以下のコードを貼り付けます。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')

driver = webdriver.Chrome('./chromedriver', chrome_options=options)
driver.get("https://code.dividable.net")
driver.save_screenshot('screenshot.png')
driver.quit()

CTRL + S (Macの場合は、Command + S)を押して、ファイルをセーブします。

test.pyという名前で保存します。

実行してみよう

最後に、ファイルを実行してみます。

python test.py

実行すると、以下のような画像が新しく表示されるかと思います。

こちらの画像をクリックしてみると、

しっかりと、ページにアクセスして、スクリーンショットをとっていることが確認できました。

最後に

いかがでしたでしょうか?

Seleniumの環境構築から、簡単なブラウザ操作自動化について解説しました。