kakashi-blog・カカシブログ・

Python備忘録を書きドローンやバイクなど好きな事で生きて行こうとしているブログ

python プログラミング

Python備忘録 selenium ブラウザスクロール編

投稿日:2019年11月25日 更新日:

ウェブブラウザを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秒待ち

一番上(ホーム)に戻ってくる

こうすると分かりやすいですね。

 

―関連記事―

seleniu 自動ログイン編はここから👈

-python, プログラミング
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Amazonはスクレイピングが禁止。seleniumでデータ収集をしてみた

pythonでコードを書いて、AmazonのサイトからASINコードと金額のデータを、普通にスクレイピングしてみたけど出来なかった。(バグだと思って何時間も無駄にした) どうやらAmazonのサイトは …

pythonで画像処理 Pillow(PIL)

画像処理なんて大げさですが、Pillow(PIL)を使用して少し画像の操作をやりました   ライブラリのインポート~ from PIL import Image im=Image.open(‘C:\\ …

Python備忘録 Tkinter編② テキスト入力とボタン

前回はラベルの挿入まで行いました 今回はテキスト入力とボタンについて記述します       1、ベースのウィンドウを作る    win=tk.Tk() win.title(‘text input &a …

Excel VBAを使用して、セルの中の図形をコピーして別のセルにペースト

  実はVBAは使用せずに、関数だけでコピペをしようと思いましたが、なかなか上手くいきませんでした。 なのであきらめてVBAで作ります。   目的   順序がバラバラのセルに番号をふって、別のシートに …

子供がズルをするので計算カードをpython(Tkinter)で作った

うちの小学1年生の子の宿題に「計算カード」があります。 学校からは、「時間を計ってやりなさい」と言われているようです。 もちろん計算なんかせず、めくる事が目的になって、 どれだけ早くめくれるか。みたい …