はじめに
GoogleではSeleniumを利用したアカウントへの自動ログインは拒否するよう設定されています。
そのため、SeleniumでGoogleアカウントを利用するようなコードを実行したい場合は、Googleアカウントにログインした状態のブラウザを使う必要があります。
実際に私はSeleniumでGoogleアカウントを利用する自動テストの開発案件で、Googleアカウントにログインした状態のブラウザを使うようにしました。
そこで本記事では、Python + Selenium + Chrome環境でGoogleアカウントにログインした状態のプロファイルを指定してコードを実行する方法を紹介します。
事前準備
まずChromeを起動し、手動でGoogleにログインします。
次に、現在使用しているプロファイルを確認するため、URL欄にchrome://version
と入れます。
「プロフィールパス」から使用中のプロファイルの場所と名前を確認することができます。
コード内容
ChromeDriverのChromeOptionsクラスを利用します。
add_argumentメソッドでオプション項目としてプロファイルを指定します。
なお、-user-date-dir
ではプロファイルの保存先ディレクトリのパスを、-profile-directory
では使用するプロファイルの名前を記載します。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
options = Options()
options.add_argument("--user-data-dir=プロファイル保存先パス")
options.add_argument("--profile-directory=プロファイル名")
driver = webdriver.Chrome(options=options)
driver.get("https://www.google.com/")
time.sleep(3)
driver.find_element_by_xpath("//*[@id='gb']/div/div[2]/div[2]/div/a").click()
time.sleep(3)
driver.close()
最後に
最後まで読んでいただきありがとうございます。
この記事が少しでも役に立てば幸いです。
参考