【Selenium】ブラウザ操作の自動化

Seleniumについて少しばかり調べてみました。

実行環境

  • MacBook Pro(intel製)

Seleniumとは

Seleniumとは、Webアプリケーションのテストを自動化するツールの一つ。人がWebブラウザで操作する代わりに指定された挙動を実行し、Web上のプログラムの動作検証を行う枠組みを提供する。

https://e-words.jp/w/Selenium.html

要するに、ブラウザ上の操作を自動化します。

Seleniumを試す

前提

実行には、以下が前提となります。

サンプルコード実行

# seleniumインストール
$ pip3 install selenium

# サンプルコード取得
$ git clone https://github.com/hgssnk/selenium_demo.git

# dockerディレクトリに移動
$ cd selenium_demo/docker

# ビルド & 実行
$ docker-compose up -d --build

# Seleniumのサンプルコードを実行
$ python ../src/hoge.py

上のサンプルコードでは、このサイトの「検索ボタン」を押し、そこに「Linux」と入力して検索し、ヒットした記事のタイトルを抽出しています。

VNCで確認

上のサンプルコードを実行すると、実は、裏でブラウザが立ち上がり、色々と動作しています。

その様子を実際に見ようと思うと、VNCでコンテナ内に接続する必要があります。

VNC接続は以下の通りです。

  1. Finderを開く
  2. メニューバーの「移動」の「サーバーへ接続」を押下
  3. 「vnc://localhost:15900」を入力しエンター
  4. パスワードは「password」を入力しエンター
  5. 接続完了

この状態で、もう一度サンプルコードを実行してみます。

以下、実行結果です。

実際に動いている様子を見ると、なかなか面白いです。

やっていることはウェブスクレイピングに近いように思えるので、そのままウェブスクレイピングの学習に活かせそうです。