事前準備
1. Pythonのインストール
Python公式からインストーラをダウンロードすることができます。
理由がなければPython3系を使うのが推奨されているので、Python3系の最新をインストールします。
2. Seleniumのインストール
Pythonのインストールが終了して、pathの設定などが完了したら以下のコマンドでインストールできます。
Seleniumはpythonからブラウザを操作するために必要です。
3. Google Cromeのインストール
今回はGoogle Chromeを使うので、インストールしていない場合はGoogle Chromeをインストールします。
でもブラウザならなんでもいいです。
4. Chrome Driverのダウンロード
SeleniumのHPからChromeのドライバをダウンロードします。
ドライバはプログラムからブラウザを操作するために必要です。
ダウンロードしたドライバーは任意のフォルダに入れておいてください。
どこに置けばいいのか悩む方はC:\driverフォルダでも作ってそこに入れてください。
pythonで使用するドライバの置き場所はこちら。
これで事前準備は完了です。
プログラム
上記を実行したら以下の動作をします。
1. Google Chromeが立ち上がり、GoogleのTopが表示される
2. 2秒待つ
3. Googleの検索Windowに"python"と打ち込まれて送信される
4. 検索結果画面が表示される
5. 2秒待つ
6. Google Chromeが終了する
解説
このプログラムに必要なライブラリをimportしています。
ダウンロードしたGoogle Chromeのドライバの場所とGoogleのURLを定義しています。
ブラウザ操作時のオプションを選択できます。
のコメントアウトを外せばheadlessモードでGoogle Chromeが起動します。
HeadlessモードではGUIのブラウザは起動しません。
Google Chromeを起動して、get()メソッドで指定されたURLを開きます。
起動した後、2秒間止まります。
Googleの検索Windowに"python"という文字列を入力し、submit(検索フォームの送信)します。
検索結果が表示されたら2秒間止まります。
element = driver.find_element_by_XXXXで入力フォームを指定しています。
いくつか検索するメソッドがあるので、使いやすいものを使いましょう。
HTMLの要素の名前やクラス名、IDなどはブラウザでF12ボタンを押せば見れます。
F12ボタンを押して入力フォームの要素を探します。
拡大。
文字が小さくてわかりにくいんですが、HTMLの要素の詳細が見れます。
さらに拡大。
class="gsfi"
id="lst-ib"
name=q
と書かれているのがわかります。
こんな感じで探します。
最後です。
この処理で Google Chromeを閉じます。
以上です。
意外と簡単にプログラムからブラウザを操作することができました。
スクレイピングとかの初歩中の初歩なので、スクレイピングしてみたい方などはまずこういうところから始めてみましょう。
おわり。