kakashi-blog・カカシブログ・

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

python プログラミング

Python備忘録 selenium 自動ログイン編

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

前回はブラウザのスクロールまで行いました

今回はブラウザのログイン画面から自動ログインに挑戦

 


退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

 

◇ソースコード

 

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

username=('id')#ID or メール or 携帯番号
password=('password')#パスワード

browser = webdriver.Chrome()
browser.get('https://login.yahoo.co.jp/config/login?.src=www&.done=https://www.yahoo.co.jp')

time.sleep(10)

user_name=browser.find_element_by_id('username')
user_name.send_keys(username)
btn=browser.find_element_by_id('btnNext')
btn.click()

time.sleep(5)

psw=browser.find_element_by_id('passwd')
psw.send_keys(password)
logbt=browser.find_element_by_id('btnSubmit')
logbt.click()

 

ソースコードのなかみを説明します

 

1、必要なライブラリのインポート

 

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

 

始めの2行はselenium、ブラウザの操縦に使う

timeは、確実にプログラムを実行するために待ち時間を作るために使用

プログラムで動いているので、ブラウザを完全に読み込んでいなくても次の動作に進んでしまう為、エラーになってしまうことがある。

人が操作していれば入力出来るまで待ったり、ボタンが現れたら押したりするが、それを単純なプログラムで進めるめにtimeを使用する

 

2、IDとパスワードを変数に格納

 

username=('id')#ID or メール or 携帯番号
password=('password')#パスワード

 

usename変数にログインID or メール or 携帯番号を格納

password変数にパスワードを格納

 

3、ブラウザを開く

 

browser = webdriver.Chrome()
browser.get('https://login.yahoo.co.jp/config/login?.src=www&.done=https://www.yahoo.co.jp')

 

今回はchromeでyahooのログインページを開きます

 

 

 

4、ブラウザが完全に開くまでの時間待つ

 

time.sleep(10)

 

ここでは10秒待ちます

sleepの引数が待ち時間の秒数になります

 

 

 

 

5、タグを指定して操作

 

user_name=browser.find_element_by_id('username')
user_name.send_keys(username)
btn=browser.find_element_by_id('btnNext')
btn.click()

 

browser.find_element_by_id(‘username’)

id (‘ ‘) 👈この中に操作したいタグを探して入れます

 

・探し方

IDを入力したいブラウザの画面を開いて、WindowsならF12を押して開発者ツールを開きます

 

 

HTMLのプログラムにカーソルを合わせていき、操作したい場所が青くなっていたらどんどん階層を下っていく

最終的に操作したい場所だけが青くなるところまで階層を下る

 

 

この”username”を id (‘ ‘) のなかに入れます

send_keys()で引数をキーボード入力できます

 

テキスト入力したらボタンを押します

今度はボタンのタグを探します

 

 

このボタンのタグは”btnNext”

click()でクリックしてくれます

 

ここまででテキスト入力、ボタンクリック

これでログインに必要な動作が出来るようになりました

パスワードはこれと同じことをすればログインにたどり着きます。

 

以上seleniumによるログインのやり方でした

 

―関連記事―

selenium ブラウザスクロール編はここから👈

Tkinter編

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

執筆者:


comment

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

関連記事

pythonで画像処理 Pillow(PIL)

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

PythonでFizzBuzz問題を書く

  FizzBuzz とは   元々は数人で遊ぶシンプルなゲーム。 1から順番にカウントアップして発言していき、3で割り切れる数のときは「Fizz」、5で割り切れる数の時は「Buzz]と発言していく。 …

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

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

Tkinterのメッセージボックス、謎ウインドウが消えない

pythonでTkinterを使用し、メッセージボックスを使おうと思ったが、謎ウインドウが出てきて処理が止まってしまう。    ↓のやつですね   調べてみると、「ルートウィンドウが無いと勝手に生成さ …

カプレカ数をpythonで求める

カプレカ数とは まず6174を例にとってみます。 ’6’、’1’、’7’、’4’と桁を関係なく数字をバラバラにします。 その数字の並び替えを[最大]と[最小]になるように並び替えます。 ・最大 764 …