Seleniumでログイン状態を引き継ぐ方法についての質問です。
Defaultのプロファイルから起動すればログイン状態を引き継げるとこちらに書かれていたので試してみました。
Java
1 2// chromedriverを設定 3WebDriverManager.getInstance(CHROME).setup(); 4String driverPath = System.getProperty("webdriver.chrome.driver"); 5System.out.println("driverPath:" + driverPath); 6 7//プロファイルを設定 8ChromeOptions options = new ChromeOptions(); 9options.addArguments("user-data-dir=/Users/[USER_NAME]/Library/Application Support/Google/Chrome"); 10options.addArguments("--profile-directory=Default"); 11 12 13this.driver = new ChromeDriver(options);
プロファイルの設定引き継げているようでChromeの右上に表示されているアイコンやブックマークなどは普段使っているものと同じになりました。
しかし、ログイン状態は対象のサイトのみならず全てのサイトでログアウトされた状態になっていました。
【試したこと】
・Seleniumを閉じていつもどおりChromeを立ち上げて同じサイトにアクセスするとこちらもログアウトしていました。
・Seleniumで起動したブラウザでログイン後終了し、ログイン後のページにアクセスするとログイン状態が引き継がれてました。
通常であればここれで良いのですが、今関わっている案件がSeleniumで起動したブラウザではGoogle ChromeのCAPTCHAがログインの実行をブロックしてしまいまいログインできないタイプのサイトです。
画像認証が表示されれば手動で選択してロボットでないことを証明するのですが、その画面が一切表示されず無いという当方も初めてのパターンのサイトです。)
要件を再定義すると普段使っているChromeのログイン情報をSeleniumで起動したブラウザで引き継ぎたいというものになります。
何かいい方法をご存じの方がおりましたらご教示いただければと思います。
どうぞよろしくお願い致します。
【その他参考ページ】
Seleniumで次の実行時にもサイトのログイン状態を維持したい場合
Python + Selenium + Chrome で自動ログインいくつか
あなたの回答
tips
プレビュー