Python

【入門】Selenium×Pythonの使い方!Chromeブラウザを自動操作してみようー!

Selenium
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、SeleniumをPythonで動かしてChromeブラウザ上で行う操作を自動化していきます。非常に簡単なコードを記述するだけで操作できるのでぜひ試してみてください!Seleniumを駆使すれば普段の単純労働が全自動になるかもしれませんよ!

こんにちは!

消費財メーカーでデータサイエンティスト兼デジタルマーケターをやっているウマたん(@statistics1012)です!

Pythonを使うと非常に色々なことが出来ちゃいます。

その中でもSeleniumを使ったブラウザの自動化は非常に便利。

普段なんとなーく惰性でやっているルーティンワークはもしかしたらSeleniumを使えばぜーんぶ自動化できてしまうかもしれません。

ロボたん
ロボたん
え・・・Pythonで自動化まで出来ちゃうの!?
ウマたん
ウマたん
Pythonはできることが非常に多いからちょっとずつ覚えていこうね!

ぜひSeleniumの威力を知って色々な場面で使ってみましょう!

Seleniumとは

pc python

Seleniumはブラウザを操作するためのオートメーションツールです。

この記事では、Pythonを用いて実装していきますが、JavaやRubyなど他のプログラミング言語でも実装することが可能。

Seleniumを使うことでWeb上で行う行動を自動化することができます。

検索やクリック、情報の抽出や画面キャプチャを撮って保存することなどが出来てしまうのです。

ぜひSeleniumを使いこなして普段使っている作業を自動化してみましょう!

Selenium×Pythonでいくつか挙動を試してみよう!

python

それでは、そんなSeleniumについていくつか簡単な実装をおこなっていきたいと思います。

この記事では、先ほど取り上げた4つ

・検索
・クリック
・情報取得
・画面キャプチャ

を自動化してみたいと思います。

前準備

意外とつまづきやすいのが、この前準備。

Seleniumを使ってブラウザを操作するためには専用のドライバーをダウンロードしなくてはいけません。

今回はChromeブラウザを使用するので、Chromeを動かすためのChrome Driverをインストールしていくのですがご自身が使っているChromeのバージョンとダウンロードするChrome Driverのバージョンが一致するようにしましょう!

ここが一致しないと上手く動作しません。

Chrome Driverは以下のページからダウンロードしてください。

自分が使っているChromeブラウザのバージョンはブラウザ右上の3点リーダーメニューから以下のように確認することができます。

Google Driver Google Driver

この場合使っているChromeブラウザのバージョンは84なので、Chrome Driverのバージョンも84を選ぶようにしましょう!

Google Driver

ダウンロードしたChrome Driverは任意のディレクトリフォルダに格納しておきましょう。

以下のコードでChomeブラウザを動かす準備が完了!

Googleで検索をしてみよう!

それでは準備が整ったところでGoogle検索をおこなってみましょう!

以下の公式HPに載っているSample testのコードを実行するとGoogle検索ができますよ!

これで、Googleでスタビジと検索してくれます。

ロボたん
ロボたん
わー!感動!

検索結果をクリックしてみよう!

続いて検索結果をクリックしてみましょう!

ここでは、検索結果の1位をクリックしてみましょう!

find_elements_by_class_name(‘g’)で、クラスが’g’の要素を引っ張ってきています。

引っ張ってきた要素の中の1つ目の要素のさらにrクラスにアクセスしています。

そしてr.click()で実際にクリックアクションを実行することができるんです!

要素を指定する上では、HTMLの要素を把握することが必要です。

Chromeでは、Ctrl+Shift+Iでディベロッパーツールを開くことができ、ディベロッパーツールのElementsから各要素を確認することができます。

ディベロッパーツール
マーケター必読!ディベロッパーツールの使い方!こんにちは! 消費財メーカーでデジタルマーケティングに携わるウマたん(@statistics1012)です。 みなさんは、C...

Webサイト上の情報を取得してみよう!

続いてサイトの情報を取得してみましょう!

これは先ほどのクリック時におこなった方法で要素を指定して抽出していきます。

Web上の情報を取得する行為はWebスクレイピングと呼ばれ、非常に汎用性が高く色々なところで利用されていますが、サイトやサービスによっては規制されていることも多いので注意しましょう!

ここでは、簡易的にH2のタグ要素を全て取得しました。

新着記事
データサイエンス
Python
おすすめサイト
Webマーケティング

スタビジでは、いくつかのカテゴリをトップページに並べており、それらが取得できましたね!

画面をスクリーンショットでキャプチャしてみよう!

最後に画面をスクリーンショットで保存する方法を紹介しておきます。

driver_maximize_window()で画面を最大化します。

そしてdriver.save_screenshot(‘○○.png’)でpng形式で画像を保存することができます。

この場合は、Pythonファイルと同ディレクトリに保存されますが、保存場所を明示的に示せばそこに保存することができます。

最後に全てのコードを1つにまとめて置いておきます。

Seleniumを勉強する方法

Working late

SeleniumはUdemyのコースが非常に優良で分かりやすいので是非チェックしてみてください。

Seleniumを動かすところからある程度の実装までであれば、この動画を見れば問題ないです。

PythonによるWebスクレイピング〜入門編〜【業務効率化への第一歩】

Udemy コース Webスクレイピング
【オススメ度】
【講師】キカガクの執行役員。機械学習や統計を大学専攻
【時間】2.5時間
【レベル】初級

キカガクの執行役員で学生時代に機械学習や統計を専攻していた方が講師です。

若い先生ですが、非常に落ち着いていて分かりやすい!

内容は、スクレイピングのサイトを使って進みます(このコース用に作られたコースで非常に分かりやすい!)

サイトの中にサンプルコードもあるのでそれを参考にしながら進めることが可能です。

Pythonでスクレイピングと言えば、seleniumとBeautifulsoupがありますが、本コースではseleniumを使ってスクレイピングをおこなっていきます。

ChromeのバージョンとDriverのバージョンを揃えないと上手くいかないから要注意!

スクレイピングにおいて基本中の基本の内容だが講師の教え方分かりやすく納得の内容
画像のスクレイピングも学べます。

ディベロッパーツールの使い方や、HTML/CSSの知識があると非常にスムーズに学べます。

\30日間返金無料/

Udemyは世界最大の教育プラットフォームで僕自身も非常にお世話になっているプラットフォームです。

Udemy レビュー
【体験談】評判の良いUdemyを実際に20コース受けてみてレビュー!当サイト【スタビジ】の本記事では、世界最大のオンライン学習プラットフォームであるUdemyのメリット・デメリット・評判・口コミについてまとめていきます!実際にPython関連のコースを20個受講して分かった体験談をもとにお伝えしていきます。...

他にもいろいろなコースがありますので是非探してみてください!

Selenium×Python まとめ

Seleniumは非常に便利で面白い使い方が出来るのでぜひ色々と触ってみてください!

ロボたん
ロボたん
こんなことがSelenium×Pythonで出来てしまうなんて・・・感動したよ!!
ウマたん
ウマたん
他にもできることはいくつかあるから是非Seleniumを触りながら色々試してみてね!

要素の抽出はBeautifulsoupでも出来るのでBeautifulsoupと組み合わせて使ってみてください!

PC
【初心者向け】Pythonのbeautifulsoupでスクレイピングを実装してみよう!当サイト【スタビジ】の本記事では、初心者向けにPythonでスクレイピングを行う上での注意点や実装方法そして勉強方法についてまとめていきます!スクレイピングは比較的カンタンに実装できますが、奥が深く他の知識と組み合わせることで高いシナジーが見込める分野です。...

この記事では、SeleniumをPythonで動かす方法について見てきましたが、Pythonは他にも色んな使い方ができます。

Pythonの勉強は以下の記事にまとめていますので是非チェックしてみてください!

Python 勉強
【入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

イラスト出典:Illustration by Stories by Freepik

Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!