Python

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

2018年7月6日

こんにちは!土門大貴(daikidomon)です。

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

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

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

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

Seleniumのインストール

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

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

PyCharmにライブラリをインストール・アップデートする手順

こんにちは!土門大貴(daikidomon)です。 PyCharmで追加のライブラリを「Python Package I ...

続きを見る

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

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

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

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

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

ChromeDriver」を選択しましょう。

Google ChromeのSelenium用ドライバーのダウンロードページ

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

Google ChromeのSelenium用ドライバーの最新版を選択

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

Google ChromeのSelenium用ドライバーの各OSのダウンロードページ

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

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.