PCでブラウザ操作を自動化
PC(Windows)でブラウザ操作を自動化する方法をまとめます。
自動化には、seleniumというツールを使います。
seleniumとは
ブラウザー自動化を可能にし、それを支えるツール群とライブラリー群プロジェクト引用:https://www.selenium.dev/documentation/ja/
今回は、seleniumのインストールと自動でgoogleを開いて検索するところまでやります。
seleniumのインストール
今回の環境
- windows 10
- chrome 87.0.4280.88.0
- python 2.7
- selenium 3.141.0
- chromedriver-binary 87.0.4280.88.0
chromeのバージョンは適宜自身のバージョンに読み替えてください。
chromeのバージョン確認の方法は、chromeの設定タブ > hromeについてから確認できます。
※chromeとchromedriver-binaryのバージョンは揃える必要があります。
pythonのインストールが済んでいる前提で進めていますので、pythonがインストールされていない場合は、入れておいてください。
- seleniumのインストール
pip install selenium
- chromedriver-binaryのインストール
seleniumでchromeを操作するのに必要なドライバーです。pip install chromedriver-binary==87.0.4280.88.0
※pip install chromedriver-binaryだとベータ版が入ってくるので、chromeが対応していないことがあります。バージョンは今使っているchromeのバージョンを指定してください。
インストールはこれだけで完了です。
seleniumの動作確認
実際にブラウザを自動操作してみます。
全体はこちら。
import time
from selenium import webdriver
driver = webdriver.Chrome(executable_path='C:\\Python27\\Lib\\site-packages\\chromedriver_binary\\chromedriver.exe')
driver.get('https://www.google.com/')
time.sleep(5)
search_box = driver.find_element_by_name("q")
search_box.send_keys('test')
search_box.submit()
time.sleep(5)
driver.quit()
一つずつ見ていきます。
まずは、seleniumでchromeを操作するためのdriverを取得します。
import time
from selenium import webdriver
driver = webdriver.Chrome(executable_path='C:\\Python27\\Lib\\site-packages\\chromedriver_binary\\chromedriver.exe')
executable_pathにはchromedriverを指定してください。
※pathを通していれば指定は不要です。
driver.get('https://www.google.com/')
time.sleep(5)
driver.get(“URL”)で指定したURLをブラウザで開きます。
ただし、これだけだと開いてすぐ終了してしまうので、確認するためにsleepを入れて5秒間表示させます。
次に、画面を操作していきます。
下の部分で、検索欄に”test”と入力して検索ボタンを押すところまで自動でやってくれます。
search_box = driver.find_element_by_name("q")
search_box.send_keys('test')
search_box.submit()
それぞれこんな感じの操作ができます。
- driver.find_element_by_name() 指定したhtml要素を取得
- send_keys() driverで取得した要素に値を追加
- submit() 値を送信
これで検索結果が表示されるはずです。
最後に確認するためにsleepを入れて、quit()でdriverを終了します。
time.sleep(5)
driver.quit()
quit()が無くてもブラウザは勝手に閉じますが、dirverは残っているので、終了してあげましょう。
まとめ
今回は、googleを開いて検索するだけでしたが、ブラウザで操作できることなら基本的になんでもできます。
Twitterにログインして、自動で投稿するとかも。
また、今回は、pythonで操作しましたが、python以外でも使えるライブラリなので、使ってみてください。
プログラミングを効率的に学ぶには、Udemyがオススメです。
Udemyは、世界最大の教育プラットフォームで、動画でスキルを学ぶことができます。
Webサービス・スマホアプリ・ゲーム開発に役立つプログラミングスキルはもちろん、ブログやYouTubeで稼ぐために必要な集客・ブランディングなどを学ぶことができます。
セール期間中は、95%OFFになったり、30日間の全額返金保証もついているので、お得に安心して利用できます。