質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

7265閲覧

SeleniumでGoogleログイン

yah

総合スコア30

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

1クリップ

投稿2020/04/10 16:30

編集2020/04/10 16:32

前提・実現したいこと

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

不足している情報がございましたら、お申し付けください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ご認識の通り、googleはスクレイピングを禁止していまして、
実際に行おうとするとなんらかの対策を打たれて、
停止してしまうのと見込まれます。

私も過去に1件だけうまくできたというケースを
聞いたことがありますが、その時の条件が何であるか
調査すること自体がクラッキングに当たる可能性があります。

素直にgoogleにスクレイピングはできないものだと認識した方が吉でしょう。

投稿2020/04/17 20:10

shirai

総合スコア1290

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yah

2020/05/07 23:50

ご回答頂きありがとうございます。 返事が遅くなりまして申し訳ありません。 調査自体がクラッキングに該当してしまう可能性があるのですね。 そこまでは考えておりませんでした。 できないもの、として認識しておきます! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問