[Python]Seleniumのインストール方法とWebブラウザ操作の自動化 [初心者向け]

Webテストツールとして有名な「Selenium」を使用して、Webブラウザ操作の自動化を行う手順を紹介します。

「Python」と組み合わせることでWebスクレイピングツールしても活用することができます。

環境構築が必要なため初心者には少々ハードルが高いですが、分かりやすいように紹介します。

なお今回は「Google Chrome」を使用したWebブラウザ操作の自動化を行っていきます。

目次

Seleniumのインストール

まずはSeleniumのインストールを行います。

「pip」を使用してインストールします。

pip install selenium

PyCharmを使用している場合は下の記事を参考にインストールしてみてください。

あわせて読みたい
PyCharmにライブラリをインストール・アップデートする手順 PyCharmで追加のライブラリを「Python Package Index」などリポジトリからインストールとアップデートする方法を紹介します。 Pythonでは便利なライブライが多数揃って...

これでSeleniumのインストールは完了です。

ドライバーの入手とインストール

次にドライバーの入手とインストールをします。

今回は「GoogleChrome用のドライバー」のダウンロード方法を紹介します。

「ダウンロードサイト:ChromeDriver – WebDriver for Chrome」にアクセスします。

「ChromeDriver」を選択しましょう。

Google

Latest Releseの「ChromeDriver」を選択します。

Google

各OSに合わせたドライバーをダウンロードしましょう。

Google

**Windowsは64Bit版だとしても、「chromedriver_win32.zip」を利用できます。

**下がメジャーブラウザのドライバーのダウンロードサイトになります。

ダウンロードしたメディアをOS上の所定の場所に配置します。

今回はメディアを下に配置します。

C:\webdriver\chromedriver.exe
Selenium用ドライバーのchromedriver.exeの配置先

Webブラウザの自動操作

今回のWebブラウザでの自動操作のシナリオは、 「Googleで”yahoo”と検索してみる」 にしてみます。

操作する要素をWebブラウザで特定する

初めにGoogleChromeでどのフィールドに”yahoo”と入力させるか確認する必要があります。

まずはGoogleChromeで「https://google.co.jp」で開きましょう。

Google.co.jpを開く

次にWindowsでは「F12」Macでは「Control + Option + I」で「検証モード」を開きます。

起動後の赤枠を選択すると、クリックで要素を特定することができます。

GoogleChromeの検証モードを起動

入力フォームをクリックすると、検証モード入力フォームのIDを特定できます。

Googleの検索フォームのID「lst-ib」ということが分かりました。

下に全体の流れを載せておきましたので参考にしてください。

GoogleChromeの検証モードでidを特定

Webブラウザ自動操作のコーディングしてみる

まずは「selenium」からWebドライバーとキーボード入力のライブラリをインポートします。

下のimport方法は丸暗記でOKです。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

次にWebドライバーを実行してオブジェクトを生成します。

そして、オブジェクト内のメソッドで対象のURLを開きます。

webdriver.Chrome(executable_path=<ドライバーフルパス>)

メソッドで、

上で指定したドライバーを設定しましょう。

get(<URL>)

メソッドで、URLのWebサイトを開くことが出来ます。

driver = webdriver.Chrome(executable_path=C:\\webdriver\\chromedriver.exe)
driver.get(https://www.google.co.jp/) 

最後に開いたサイトの要素に対してアクションを設定します。

今回は、「Formに”yahoo”と入力してEnterで検索」させてます。

find_element_by_id(<ID>)

メソッドでFrom要素のIDを選択します。

send_keys(<キー操作>)

メソッドでキー操作を実行します。

driver.find_element_by_id('lst-ib').send_keys("yahoo")
driver.find_element_by_id('lst-ib').send_keys(Keys.ENTER)

今回用意したサンプルコードは以下になります。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

if __name__ == '__main__':

driver = webdriver.Chrome(executable_path="C:\webdriver\chromedriver.exe")
driver.get("https://www.google.co.jp/")

driver.find_element_by_id('lst-ib').send_keys("yahoo")
driver.find_element_by_id('lst-ib').send_keys(Keys.ENTER)

上記のプログラムの実行結果が下になります。

Webブラウザ自動操作の実行

その他「selenium」の様々な使い方は今後紹介していきます。

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミングposted with ヨメレバ

Al Sweigart オライリージャパン 2017-06-03

Amazon

Kindle

楽天ブックス

7net

honto

e-hon

紀伊國屋書店

よかったらシェアしてね!
  • URLをコピーしました!
目次