Googleログインに問題があります。アカウントにログインしたいのですが、自動化ドライバーのログインは許可されていません。
解決策を探しています。通常のFirefox/ChromeのCookieを取得してChromeDriver/GeckoDriverにロードすることは可能ですか?これで解決できると思いました。しかし、それが可能かどうかはわかりません。
解決策を探しています。
また、このための簡単な解決策を追加したいと思います。私は古い確認済みアカウントの1つを使用してこの問題を解決しました。それもあなたのための迅速な解決策になる可能性があります。
このエラーメッセージ...
...WebDriverインスタンスがBrowsing Contextを認証できなかったことを意味します/ ieブラウザセッション。
このエラーは、次のようなさまざまな要因により発生する可能性があります。
記事の 「このブラウザまたはアプリは安全でない可能性があります」というエラーがデスクトップアプリでGoogleにログインしようとすると @Raphael Schaadが、ユーザーが他のGoogleアカウントで同じアプリに問題なくログインできる場合は、次に、問題は特定のアカウントにある必要があります。ほとんどの場合、考えられる理由は、この特定のユーザーアカウントがTwo Factor Authentificationで構成されていることです。
記事 安全性の低いアプリとGoogleアカウント アプリまたはサイトが google-chrome の セキュリティ基準 を満たさない場合、Googleは試みているすべてのユーザーをブロックする可能性があると記載されていますそれからアカウントにサインインします。安全性の低いアプリは、ハッカーによるアカウントへのアクセスを容易にする可能性があるため、これらのアプリからのサインインをブロックすることで、アカウントを安全に保つことができます。
これらの場合、それぞれの解決策は次のようになります。
「このブラウザまたはアプリは安全でない可能性がある」ため、SeleniumオートメーションでGoogleにサインインできない で詳細な説明を見つけることができます。
ただし、アカウントを保護するために、Web Browsersは一部のブラウザからのサインインを許可しない場合があります。 Googleは、次のようなブラウザからのログインを停止する場合があります。
これらの場合、さまざまなソリューションがあります。
JavaScriptをサポートするブラウザーを使用します。
Chrome
Safari
Firefox
オペラ
Internet Explorer
エッジ
Web BrowsersでJavaScriptをオンにします。サポートされているブラウザを使用しているにもかかわらずサインインできない場合は、JavaScriptをオンにする必要があるかもしれません。
それでもサインインできない場合は、AutomationExtension/unsecure/unsupported拡張機能がオンになっているため、次のようにオフにする必要がある場合があります。
public class browserAppDemo
{
public static void main(String[] args) throws Exception
{
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.setExperimentalOption("useAutomationExtension", false);
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
WebDriver driver = new ChromeDriver(options);
driver.get("https://accounts.google.com/signin")
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='identifierId']"))).sendKeys("gashu");
driver.findElement(By.id("identifierNext")).click();
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='password']"))).sendKeys("gashu");
driver.findElement(By.id("passwordNext")).click();
System.out.println(driver.getTitle());
}
}
あなたはいくつかの関連する議論を見つけることができます:
Java でSelenium webdriverを使用したGmailログイン
最後に、一部の古いブラウザバージョンはサポートされていない可能性があるため、次のことを確認してください。
私は同じ問題を抱えており、その解決策を見つけました。使ってます
1)Windows 10 Pro
2)Chromeバージョン83.0.4103.97 (Official Build) (64-bit)
3)セレンChromeDriver 83.0.4103.39
Googleページを開く簡単なC#コード
var options = new ChromeOptions();
options.addArguments(@"user-data-dir=c:\Users\{username}\AppData\Local\Google\Chrome\User Data\");
IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver();
driver = new ChromeDriver(Directory.GetCurrentDirectory(), options);
driver.Url = "https://accounts.google.com/";
Console.ReadKey();
ここでの核となる問題Seleniumドライバーを使用する場合はログインできませんが、すでにGoogleアカウントにログインしているプロファイルを使用できます。
Chromeストアプロファイルがどこにあるかを見つけて、"user-data-dir"
オプション。
PS。 {username}を実際のアカウント名に置き換えます。
Linuxでは、ユーザープロファイルは"~/.config/google-chrome"
。
数時間の試行錯誤の末、うまくいったことを試しました。
構成にargs: ['--disable-web-security', '--user-data-dir', '--allow-running-insecure-content' ]
を追加すると問題が解決しました。
後で別のメールを試してみたがうまくいかなかったので、これは私を助けてくれなかったことがわかった。いくつかの観察の後、私は何か他のものを見つけ出し、これは試みられ、テストされました。
オートメーションの使用:
https://stackoverflow.com/users/login に移動しますGoogle戦略でログインを選択しますGoogleユーザー名とパスワードを入力しますStackoverflowにログインします https://gmail.com に移動します(またはアクセスしたいGoogleアプリ)
これを終日(約24時間)一貫して行った後、Gmail(またはアクセスしたいGoogleアプリ)への直接のログインを直接自動化してみてください...少なくとも2人の他の人がこれを成功させています。 PS-全員が同じフェーズを通過したため、少なくともキャプチャ要求を受け取るまで、stackoverflowログインを続行することをお勧めします。
アカウントが自動的に開きます。
Google fixed this method :( :(