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