【Python3】SeleniumでGoogleアカウントにログインする方法

おはこんばんにちは、せなです。
今回はSeleniumを使用した際にGoogleアカウントをログインさせる方法を説明したいと思います。

初めに

Seleniumでは通常の方法ですと、以下のような画面が表示されてログインができません。

selenium not google login

ですので、事前にchromedriverのオプションを使用してプロファイルを読み込んでおく必要があります。

Chromeプロファイルの取得

chromeを起動して、ログインに使用したいアカウントでログインしてください。
プロファイルを確認するために、chrome://versionを開いてください。
以下のような画面が表示されますので、プロフィールパスに表示されているパスをコピーしてください。

chrome version profile path

コード

–user-data-dirには上記の場合、プロフィールパス「/Users/HOGE/Library/Application Support/Google/Chrome」
–profile-directoryには「Profile 1」を指定します。

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options

options = Options()
# プロファイルの保存先を指定
options.add_argument("--user-data-dir=/Users/HOGE/Library/Application Support/Google/Chrome")
# 使用するプロファイルを指定
options.add_argument("--profile-directory=Profile 1")

# chromeを起動
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)

driver.get('https://www.google.com')

また、以下のようなエラーが出た場合は使用しているブラウザを閉じて実行してみてください。

InvalidArgumentException: Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir

Selenium,Python

Posted by sena