PythonでFacebookへの自動ログインをする

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に自動ログインすることができました。

コメント

タイトルとURLをコピーしました