PythonでFacebookへの自動ログインを行ってみます。
なお、今回行うFacebookへの自動ログインは、Seleniumモジュール、webdriver-managerモジュール、ChromeのWebdriverを事前にインストールして行っています。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■Pythonを使用しFacebookへの自動ログインを行う
では、早速Pythonを使用しFacebookへの自動ログインを行うためのスクリプトを書いていきます。
■コード
from selenium import webdriver
from time import sleep
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
usr=input('メールアドレスを入力してください:')
pwd=input('パスワードを入力してください:')
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.facebook.com/')
print ("Facebookを開きました")
sleep(1)
#id属性(email)から要素を取得する
username_box = driver.find_element_by_id('email')
#キーを入力をする
username_box.send_keys(usr)
print ("入力したメールアドレス")
sleep(1)
#id属性(pass)から要素を取得する
password_box = driver.find_element_by_id('pass')
#キーを入力をする
password_box.send_keys(pwd)
print ("入力したパスワード")
#id属性(login)から要素を取得する
login_box = driver.find_element_by_name('login')
#要素をクリックする
login_box.click()
print ("完了")
input('何かを押して終了します')
driver.quit()
print("終了しました")■注意点
Facebookのログインボタンの要素を取得する際に「driver.find_element_by_id(‘loginbutton’)」とコードを記述していたのですが、下記のエラーが発生しました。
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”css selector”,”selector”:”[id=”loginbutton”]”}
(Session info: chrome=87.0.4280.88)
エラーの内容としては「要素を見つけることができません」というものでそのためにクリックができずにFacebookにログインすることができませんでした。find_element_by_id()の括弧内に要素を変更したりしてみましたが、同じように要素を見つけることができませんというエラーが発生しましたので、find_element_by_name()と記述すると、Facebookへのログインに成功しました。
■実行
今回のスクリプトを「Facebook-login.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、Facebookに自動ログインすることができました。



コメント