前提・実現したいこと
Selenium + Javaを使用し、Googleのログインを実装しようとしております。
ログイン画面に遷移し、アカウント入力までは進めるのですが、「次へ」ボタンを押下した際に、
Googleから下記エラーが返ってきてしまいログインすることができません。
SeleniumでGoogleログインを実装する内容のブログなどを何件か見つけた為、
条件によっては可能なのかと思い、質問させていただきました。
もしログインエラーを回避する方法があればご教授いただければと思います。
よろしくお願いいたします。
発生している問題・エラーメッセージ
ログインできませんでした このブラウザまたはアプリは安全でない可能性があります。 詳細 別のブラウザをお試しください。サポートされているブラウザをすでに使用している場合は、画面を更新して、もう一度ログインをお試しください。
詳細押下後を一部抜粋
アカウントを保護するため、Google では一部のブラウザからのログインを許可していません。Google は、次のようなブラウザからのログインを拒否することがあります。 ・自動テスト フレームワークを使用している
→自動テスト フレームワークを使用してのログインとなりますのでエラーになるのは理解できますが、
上記にも記載した通り、成功しているブログを何件か見つけた為、回避する方法があるのかと気になった次第です。
該当のソースコード
Java
1 public void execute() { 2 System.setProperty("webdriver.chrome.driver", "properties/chromedriver"); 3 4 // プロファイルを設定 5 ChromeOptions options = new ChromeOptions(); 6 options.addArguments("user-data-dir=/Users/xxxxx/GoogleProfiles"); 7 8 WebDriver _webDriver = new ChromeDriver(options); 9 10 _webDriver.get("https://www.google.com/accounts?hl=ja-JP"); 11 WebDriverWait wait = new WebDriverWait(_webDriver, 10); 12 wait.until( 13 ExpectedConditions.presenceOfElementLocated( 14 By.xpath("//*[@id=\"identifierNext\"]")) 15 ); 16 inputElementById("identifierId", "xxxxxxxx@gmail.com"); 17 clickElementByXPath("//*[@id=\"identifierNext\"]"); 18 wait.until( 19 ExpectedConditions.presenceOfElementLocated( 20 By.xpath("//*[@id=\"password\"]/div[1]/div/div[1]/input|//*[@id=\"Passwd\"]")) 21 ); 22 23 }
試したこと
WebDriverから起動されたブラウザで、手動でログインを試みましたがそれも同じエラーが返されできませんでした。
しかし、手動で立ち上げたChromeでログインは可能でした。
また、手動で立ち上げたChromeのプロファイルをChromeOptionsで設定してみましたが、ログインされた状態を保持することはできませんでした。
補足情報(FW/ツールのバージョンなど)
OS : mac
OS version : 10.12.6
Chrome version : 81.0.4044.92
Chrome driver version : 81.0.4044.69
不足している情報がございましたら、お申し付けください。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/07 23:50