【Python】Seleniumで何ができるのか?

スポンサーリンク

この前の記事でSeleniumを使ってWebの勤怠の自動化していたのに動かなくなった話をしました。

そこで今回はSelenium(セレニウム)でどんな事ができるか?って話をしていきたいと思います。

Seleniumとは

英文サイトを紹介:History | Selenium

なに書いてるのかというと分かりませんが、2004年から歴史が始まったらしいです。

ただ大事なのは、歴史なんかより何ができるかです👍✨
Selenium では Web ブラウザの操作を自動化するためのフレームワークです。

でたぁぁ~っっ💦💦 横文字ですww

【Webブラウザ】とは、インターネットエクスプローラー(IE)、グーグルクローム(Chrome)、ファイヤーフォックス(FireFox)、サファリ(Safari)などといったインターネットを見るためのウィンドウです!

【フレームワーク】とは。。。何でしょうwようは土俵ですよ!

  

簡単に言うと、インターネットサイトの操作を自動化しようです😁

Seleniumを使う準備

まずは動作させる環境を作りましょう☆★
そんなに難しいものはありません。

◆Webブラウザ(今回はChromeです)

◆WedDriver(Webブラウザによって違います)

◆Python環境(今回はAnacondaをインストールした際に入っているSpyderを使います)

◆Seleniumのパッケージを取得

Webブラウザ

Chromeを入れましょう!下記サイトからダウンロードしてインストールしてください。
もともとパソコンに入っている人は必要ありません。

Google Chrome – Google の高速で安全なブラウザをダウンロード

WebDriver

このWebDriverはSeleniumを使う際には、必須ですッッ❗❗
【Selenium+Webブラウザ+WebDriver】のセットなので、ダウンロードしたいと思います。

自分で調べたいのであれば、[chrome webdriver]で調べました。
他のWebブラウザでする方は、chromeの部分を変更してください。

下記サイトから取得可能です。
ChromeDriver – WebDriver for Chrome – Downloads (chromium.org)

ここで注意なのが、Webブラウザと同じVersionでないと不具合を起こす可能性があります。
※このまえの自分みたいにエラーになったりしますね。。。

WebブラウザのVersionを確認してください。

確認方法は
ウィンドウ右上にある【縦点3つ】をクリックして、【設定】です。

そして、左側の項目から【Chromeについて】を見てください。

すると、右側に下記画面が表示されます。

Webブラウザがわかったので、
WebDriverのページに戻り、
今回は、これにしたいと思います😄

取得したWebDriverは、python.exeと同じ階層におきましょう。

※前の記事では【Anaconda Prompt】から取得しています。興味がある人は前の記事を参照

Python環境の構築

これは、簡単なのがAnacondaをインストールすることです。

Anaconda | The World’s Most Popular Data Science Platform

[Products]→[Individual Edition]をクリックしてください。

開いたページ下部(スクロールしてください)にインストールの選択があるので、自分に合った選択をしてください。最近のWindows10は64-Bitだと思います。

クリックすると、インストーラーのダウンロードが始まります。
※なにか登録してみたいな画面が出ますが無視して大丈夫です。

インストーラーをダウンロードしたら、インストールを開始してください。
インストールの方法については、省略します。(基本YesYesしてればいいですw)
インストールした先は覚えておいてください。WebDriverを置かないといけません

Seleniumの取得

Seleniumを取得しましょう❗
【Anaconda Prompt】を開いてください

下記にあります。

そして、Prompt画面が開くので、下記コマンドを実行してください。

pip install selenium

自分はすでにインストールされているので、この画面になりますが、
初めてであればインストールが始まります。

コードを書いてみよう!!

今回はSpyderを使って、コードを書いていきます。
使い慣れたエディタがある人は、そちらで実施してください。

Spyderは下記場所にあります。

ドライバーを選択し、指定のURLを開く

3行ですw

from selenium import webdriver

dirver = webdriver.Chrome()
driver.get("アクセスしたいURL")

実行してみてください。開きましたか?

もしエラーになった人は、WebDriverのファイルの置き場がよくないと考えられます。

先ほど取得したWebDriverは、置き場が決まっています💦
どこかというとpython.exeと同じ階層においてください

Windowを閉じる(Seleniumを終了する)

from selenium import webdriver
   
driver = webdriver.Chrome()
driver.get("https://www.google.co.jp/");

input()

driver.quit()

【driver.quit()】で終了します。

エレメント(Element)を取得する

ようは、今開いているURLのパーツ(部品)を取得します。
今回は、グーグルのサーチする所を取得しましょう。

まずは、このエレメントの名前が何かを調べます。
開いている画面で【F12】を押してみてください。(ブラウザ開発ツールが開きます)
するとWindowの右にコードが出てきます。(HTML/CSS/JS)
※余談ですが、Seleniumを使うときに初めて存在を知りました。

ブラウザ開発ツールの行にマウスを当てると、対象のエリアが青く塗られます。
自分のアクセスしたいエレメントになるまで階層を進めていくと、ここであろう所を見つけました!

次にXPathを取得します。この方法以外もあるのでしょうが。。。

先ほどのブロックから、【右クリック→Copy→Copy XPath】をしましょう。

そして、コピーしたので次は、コードを書きます。

element = driver.find_element_by_xpath("対象のXPath")

先ほどコピーしたXPathを変数(xpath)に代入します。(横長になったので変数に代入しました)
そして、そのエレメントを探して、取得します。

エレメント(Element)に入力する

先ほど取得したエレメントに送信します。

element.send_key("入力したい文字列")

実行するとこんな感じになります。

できてるぅぅぅ~~っっ!!

現在までのコードは下記(画像だけにします)

エレメントにクリックする

入力ができたら次はクリックをしましょう!下記ボタンをクリックします。

【Google検索】をクリックしたいと思います。

先ほどと同じように「ブラウザ開発ツール」でエレメントを調べましょう!

【Ctrl】+【F】で検索画面を出しましょう。

そこに[Google 検索]と入れると、すぐに見つかります☆★

XPathを取得したら、先ほどと同様にエレメントを取得します。
そして、そのエレメントをクリックです!

element.click()

実行結果は。。。

予定通りの結果になりました。

全体のコード(画像のみ)

簡単な内容でしたが11行で、自分のサイトを検索することができました。

ちなみに、input()は入力待ち状態です。SpyderのConsole部で何かボタンを押してください。

するとWindowが閉じます。

まとめ

今回Seleniumを使ったPythonを紹介しました。
紹介した内容は、入力とクリックだけですが、これだけでも十分にやりたいことができます。
ぜひともブラウザで自動操作したい内容があれば、やってみてはいかがでしょうか?

ちなみに、URLにアクセスして、ページに書いてある内容を取得することも可能です。
ページ内容を取得することを【スクレイピング】といいます。

【スクレイピング】については、どこかの機会に記事にできたらと思います。

コメント

タイトルとURLをコピーしました