##やりたいこと
Pythonのwebbrowserを使って、Webサイトに自動ログインしたいと思い
色々試行錯誤したので備忘録として残していきます。
##環境
macOS high sierra 10.13.6
python Python 3.7.3
###ブラウザを開く
web_open.py
import webbrowser
webbrowser.open("開きたいURL")
無事開きました。
ブラウザを指定したい場合はget()で指定するらしいです。
###ログインする
キーボード入力をそのまま入力したいと思いpyautoguiを使用。
web_login1.py
import webbrowser
import pyautogui
import time
#ブラウザを開く
webbrowser.open("開きたいURL")
#念の為スリープ
time.sleep(1)
#ログインIDとパスワードを格納
mail_address = "hoge"
passwd = "hoge"
#ログインIDを入力するボックスまで移動
pyautogui.press('enter')
pyautogui.press('tab')
pyautogui.press('tab')
pyautogui.press('tab')
#メールアドレスを入力
for i in range(0,len(mail_address)):
pyautogui.press(mail_address[i])
#パスワード入力へ移動
pyautogui.press('tab')
#パスワードを入力
for i in range(0,len(passwd)):
pyautogui.press(passwd[i])
#ログイン
pyautogui.press('enter')
ここでメールアドレスに含まれる"@"が別の記号に置き換わってしまった。
windowsであればpyautoguiのファイルに色々追記すれば解決するらしいが
macOSの解決先は見当たらなかったので別の方法を検討。
#pyperclipを使って解決
色々探してみたらpyperclipで解決できそう。
web_login2.py
import webbrowser
import pyautogui
import pyperclip
import time
webbrowser.open("開きたいURL")
#念の為スリープ
time.sleep(1)
#ログインIDとパスワードを格納
mail_address = "hoge"
passwd = "hoge"
#ログインIDを入力するボックスまで移動
pyautogui.press('enter')
pyautogui.press('tab')
pyautogui.press('tab')
pyautogui.press('tab')
#コピー
pyperclip.copy(mail_address)
#ペースト
pyautogui.hotkey("command","v")
#パスワード入力へ移動
pyautogui.press('tab')
#コピー
pyperclip.copy(passwd)
#ペースト
pyautogui.hotkey("command","v")
#ログイン
pyautogui.press('enter')
これをラズパイでやりたいけどlinuxでも動くのかな。