ウェブブラウザをpythonで操作をしてみたい
seleniumというライブラリでブラウザを操縦できる
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
1、seleniumをインストール
pip install selenium
2、使用するブラウザのドライバをダウンロード
seleniumで自動操縦したいブラウザ、普段使用している使い慣れたブラウザがいいと思います
今回はChromeのドライバをDLしようと思います
ここからDL出来ますが、まず現在自分の使用している Chrome のバージョンを確認しておきましょう
一番上からver79,ver78,ver77とありますので合う物をDLしてください
3、ブラウザを開く
動作確認もかねてブラウザを起動してみます
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.google.com/')
上の3行のコードを動かすと Chrome のブラウザが立ち上がります
よく見ると「 Chrome は自動テスト、ソフトウェアによって制御されています。」と書いてあります
通常人の手で立ち上げると、当然ですがこの文字は現れません
これだけでなんかワクワクしてくるのは私だけでしょうか
4、画面をスクロールしてみる
いよいよ操縦します
分かりやすいようにWikiペディアのページに飛んでスクロールしてみます
上記の3行目の続きから
b.get('https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8')
elem=b.find_element_by_tag_name('html')
elem.send_keys(Keys.END)
elem.send_keys(Keys.HOME)
動かしてみると
ん?スクロールした?
と思ったかもしれません
早すぎて見えなかっただけです(冗談ではないですw)
timeをインポートして見やすいように止めてみましょう
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
b=webdriver.Chrome()
b.get('https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8')
time.sleep(10)
elem=b.find_element_by_tag_name('html')
elem.send_keys(Keys.END)
time.sleep(5)
elem.send_keys(Keys.HOME)
サイトを読み込んでから10秒待ち(time.sleep(10))
一番下にスクロールしてから5秒待ち
一番上(ホーム)に戻ってくる
こうすると分かりやすいですね。
―関連記事―