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

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

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

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

selenium

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

Q&A

解決済

1回答

1127閲覧

【C#】Selenium (Chrome) でgoogleアカウントにProfileを使用してログインしようとするとエラーが発生

natsuki0104

総合スコア2

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

selenium

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

1グッド

1クリップ

投稿2023/05/18 05:36

実現したいこと

【C#】Selenium (Chrome) でgoogleアカウントにProfileを使用してログインしたい

前提

プログラミング初心者です。
seleniumでgoogleにログインするにはプロファイルを使用する必要があることを知りました。
chrome://version からパスを取得し、コードに記述したのですが以下のようなエラーが発生します。

発生している問題・エラーメッセージ

unknown

1(unknown error: DevToolsActivePort file doesn't exist) 2(The process started from chrome location 3C:\ProgramFiles\Google\Chrome\Application\chrome.exe 4is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

コードを実行するとプロファイル読み込み済みでChromeが開かれます。
ですがエラーが表示され、それ以降のコードが実行されない状態です。

該当のソースコード

method1

1ChromeDriverService service = ChromeDriverService.CreateDefaultService(); 2service.HideCommandPromptWindow = true; 3var options = new ChromeOptions(); 4options.AddArgument("--start-maximized"); 5 6options.AddArgument(@"--user-data-dir=C:\Users\ *** \AppData\Local\Google\Chrome\User Data"); 7options.AddArgument("--profile-directory=Profile 5"); 8var drv = new ChromeDriver(service, options); 9 10drv.Url=@" *** "; //GoogleログインURL 11var element = drv.FindElement(By.XPath(" *** ")); 12element.SendKeys(" *** " + Keys.Enter);

試したこと

options.AddArgument("--headless")を追加するとエラーメッセージは出ませんがログインに失敗します。

補足情報(FW/ツールのバージョンなど)

OS:Windows10
Chrome : 113.0.5672.2400
Selenium.Webdriver : 4.7.0

TN8001👍を押しています

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

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

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

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

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

TN8001

2023/05/20 23:54

[[Q&A] 【python】Selenium (Chrome) でgoogleアカウントにProfileを使用してログインしようとするとエラーが発生 - Qiita](https://qiita.com/natsuki0104/questions/3ec48cc17c28ab3cc403) 「マルチポスト」とは言えないのかもしれませんが、記載はすべきでしょう(言語別にサイト使い分けるって新しいな^^; [ヘルプ|他のサービスにも質問投稿をしたい(してしまった)](https://teratail.com/help#posted-otherservice)
guest

回答1

0

ベストアンサー

エラーが表示され、それ以降のコードが実行されない状態です。

例外で止まるということでしょうか?(8行目?)

options.AddArgument("--headless")を追加するとエラーメッセージは出ませんがログインに失敗します。

ググると割と色々出ますが、ほかにやってみたことはありますか?
unknown error: DevToolsActivePort file doesn't exist - Google 検索

drv.Url=@" *** "; //GoogleログインURL

Selenium中にログインすることはおそらく無理で、(通常のブラウザで)ログイン済みのプロファイルで起動するってことですよね?

手元で試してみましたが「Google ドライブ」は、ログインユーザーで開けました。

.NET7です^^

cs

1using OpenQA.Selenium.Chrome; 2using WebDriverManager; 3using WebDriverManager.DriverConfigs.Impl; 4using WebDriverManager.Helpers; 5 6 7// インストールされているChromeのChromeDriverを取得 8new DriverManager().SetUpDriver(new ChromeConfig(), VersionResolveStrategy.MatchingBrowser); 9 10 11var service = ChromeDriverService.CreateDefaultService(); 12service.HideCommandPromptWindow = true; 13 14var options = new ChromeOptions(); 15//options.AddArgument("--start-maximized"); 16options.AddArgument(@"--user-data-dir=C:\Users\[ユーザー名]\AppData\Local\Google\Chrome\User Data"); 17options.AddArgument("--profile-directory=Default"); 18 19var drv = new ChromeDriver(service, options) 20{ 21 Url = "https://drive.google.com/drive/my-drive", 22}; 23 24//drv.Url = @" *** "; //GoogleログインURL 25//var element = drv.FindElement(By.XPath("//input[@id='identifierId']")); 26//element.SendKeys(" *** " + Keys.Enter);

NuGet Gallery | Selenium.WebDriver 4.9.1
NuGet Gallery | WebDriverManager 2.16.2

Windows 10 Home 22H2
Google Chrome 113.0.5672.127

投稿2023/05/20 23:53

TN8001

総合スコア9321

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

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

natsuki0104

2023/05/22 04:12

回答ありがとうございます。初めての質問のため詳細が足りなかったりわかりづらい内容になってしまい申し訳ありませんでした。 今回はTN8001様の環境とほぼ同じ環境で行わせていただきまし。以下の通りです。 ・.Net7 ・Selenium.WebDriver 4.9.1 ・WebDriverManger 2.16.2 ・Chrome 113.0.5672.127 回答されたコードを.Net7で試してみましたがそれでも全く同じエラーがポップアップで表示されました。 尚、"--profile-directory=Default" の箇所のみ実際に自分の取得内容に変更させていただきました(Profile 5) > Selenium中にログインすることはおそらく無理で、(通常のブラウザで)ログイン済みのプロファイルで起動するってことですよね? まず理解不足な点がありました。Profileを使用することでselenium中にログインの工程が成功すると考えていたのですが そもそも起動した時点でログインができてる状態になるということなのですね。 実際エラーコードが表示されたときもログインはできてる状態でした。 通常のブラウザでログイン済みのプロファイルを使用しています。 > 例外で止まるということでしょうか?(8行目?) はい。8行目で例外です。TN8001様のコードの場合、19行目です。 Chromeが立ち上がりますがURLに飛びません。 chormeが立ち上げたときの一番最初の画面?Chromeのロゴと検索バー のみ表示された初期ページの状態。 エラー種類:OpenQA.Selenium.WebDriverException > ググると割と色々出ますが、ほかにやってみたことはありますか? 尚、headlessで試したときの詳細なのでがC#上でスクリーンショットを取ることにより画面を確かめてみました。 確かめたところ、profileが適用されてない状態で起動されたことによりURLに飛ぶところでエラーが出ないことで googleドライブのログイン画面で止まっていました。 他にやってみたことは以下の通りです。 ・options.AddArgument("--user-data-dir=" + Profile 5)を削除 →アカウント選択の画面が開きましたがエラー内容変化なし ・options.BinaryLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe"; を追加 →変化なし ・options.AddArgument("--no-sandbox"); を追加 →変化なし ・options.AddArgument(@"--remote-debugging-port=9222"); を追加 →変化なし ・chromeを再インストール、PC再起動 →変化なし
TN8001

2023/05/22 16:25

すいません。通知が来なくて気が付くのが遅れました。 > そもそも起動した時点でログインができてる状態になるということなのですね。 事前に「普通の(Seleniumでなく自分で起動した)Chromeでログインしていれば」、Seleniumで起動したChromeもログイン済みでした。 >> 例外で止まるということでしょうか?(8行目?) > はい。8行目で例外です。TN8001様のコードの場合、19行目です。 普通のChromeが起動したままではありませんか? あるいはSeleniumで起動した中途半端なChromeが残っているとか?? 1つのプロファイルで開けるChromeは1つだけです。 それも関係ないとなると... 別のプロファイルを試してみるとか? 条件もほぼ同じでこちらでは再現できないのでどうしたものか...(エラー文が雑すぎるんよなぁ^^;
natsuki0104

2023/05/23 02:05

回答ありがとうございます! > 1つのプロファイルで開けるChromeは1つだけです 知らなくて普通のChromeを起動したままでした。すべて閉じたら無事 エラーが出ずに正常に動作しました! 本当に無知すぎて申し訳ありませんでした。 初めての質問で凄く不安でしたがとても丁寧に優しく対応して頂いて本当にありがとうございます!
TN8001

2023/05/23 08:36

> 知らなくて普通のChromeを起動したままでした。すべて閉じたら無事 > エラーが出ずに正常に動作しました! 最初に書いておくべきでしたね^^; > 本当に無知すぎて申し訳ありませんでした。 いいえ。私も知りませんでした。 別のエラーが出た気がしてナチュラルに閉じていましたが、コメント時に同じエラーだったことに気が付きました^^; > 初めての質問で凄く不安でしたがとても丁寧に優しく対応して頂いて本当にありがとうございます! 👍
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問