望月の息抜き

在宅勤務の息抜きです。主にプログラミングについて書いていきたいと思います。

【Python】【7】Webページを操作してみよう

【記事の目標】

PythonでWebページを操作する。

Microsoft EdgeGoogleのトップページにて検索バーにキーワードを入力し検索を実施する。

 

【作業手順】

1.Seleniumをインストール

2.Seleniumをインポート

3.Microsoft Edge Driverを取得しよう

4.対象のページへアクセスしよう

5.検索バーにキーワードを入力する

6.検索を実施してみよう

 

1.Seleniumをインストール

まずは、自分の開発環境にSeleniumをインストールしましょう。

ターミナルにて以下コマンドを実行しましょう。

 linuxの場合:pip install Selenium
 windowsの場合:python -m pip install Selenium

windowsの場合は「py -m」を先頭に付ける必要があるので注意です。

以下のように、コマンド実行後にSuccessfully...と表示されれば完了です。

f:id:fysker:20220107220633p:plain

 

2.Seleniumをインポート

以下のようにインポートしましょう。

 from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

これで、Seleniumが利用できるようになりました。

 

3.Microsoft Edge Driverを取得しよう

今回はMicrosoft Edgeを使います。

そのために、以下リンクからご自身のEdgeのバージョンと同じDriverを取得しましょう。

Microsoft Edge Driver - Microsoft Edge Developer

f:id:fysker:20220107223942p:plain

※Edgeのバージョンについて

Edgeのバージョンは設定の「Microsoft Edgeについて」から確認できます。

f:id:fysker:20220107224137p:plain

 

4.対象のページへアクセスしよう

まずは、「3.」で取得したDriverを解凍して格納した場所を定義しましょう。

 EDGE_PATH = 'Microsoft Edge Driverの格納場所'

指定するファイルは「msedgedriver.exe」です。

Windowsからディレクトリを指定する場合は、¥マークは2つ続けて記載するようにしましょう。

 例:C:\\Programfiles...

 

では、Driverを使ってページにアクセスしてみましょう。

 driver = webdriver.Edge(service=Service(EDGE_PATH))
driver.get("https://www.google.co.jp/")

Driverの場所を読み込んで、Googleのトップページにアクセスするコードです。

 

ここまで、動かしてみても良いです。

Googleのトップページが開きます。

 

5.検索バーにキーワードを入力する

最後に、検索バーにキーワードを設定してみましょう。

 search_input = driver.find_element(By.NAME, "q")
search_input.send_keys("python")

"q"という名前のelementに"python"という文字列を設定するコードです。

 

なぜ"q"か?

Googleのトップページで開発者ツールを利用し、検索バーの情報を見てみましょう。

f:id:fysker:20220107225350p:plain

 

6.検索を実施してみよう

Googleのトップページで検索を行うには、キーワードを入力した後に、「Enter」キーを押す必要があります。

「5.」の行に続けて、以下を追加します。

 search_input.send_keys(Keys.ENTER)

検索バーで「Enter」キーを押すコードです。

 

それでは、実行してみましょう。

f:id:fysker:20220108033151p:plain

自動でEdgeが開きGoogleのホームページを開き、検索バーに"python"を入力し、Enterキーが押され、検索が実行されました。

 

 

今回は結構ボリュームが多めでしたが、いかがでしたでしょうか。

【5】【6】と、RequestsやBeautiful Soupを使ってWebサイトを解析してきましたが、今回はSeleniumを使ってWebページの操作をやってみました。

自動化に少し触れて、プログラミングの良さであったり、業務の効率化につながりそうと感じていただければ幸いです。