プロファイルの既存のアカウントと設定を使用して、Seleniumでchromeブラウザーをロードしようとしています。
ChromeOptionsを使用してuserdatadirとプロファイルディレクトリを設定することで、これを機能させることができます。これにより、ブラウザに私のプロファイルが読み込まれますが、ブラウザは60秒間ハングし、自動化を進めずにタイムアウトします。
ユーザーデータディレクトリとプロファイル設定を使用しない場合、正常に機能しますが、プロファイルは使用しません。
私が読んだことは、同じプロファイルで一度に複数のブラウザを開くことができないことを示しているので、プログラムの実行中は何も開いていないことを確認しました。別のブラウザを開かなくても、60秒間ハングします。
m_Options = new ChromeOptions();
m_Options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data");
m_Options.AddArgument("--profile-directory=Default");
m_Options.AddArgument("--disable-extensions");
m_Driver = new ChromeDriver(@"pathtoexe", m_Options);
m_Driver.Navigate().GoToUrl("somesite");
常にGoToUrlでハングします。他に何を試すべきか分かりません。
コードトライアルに従って、DefaultChrome Profileをロードしようとしましたが、これはすべてのベストプラクティスとしてDefault Chrome Profileは次のいずれかを含むことができます。
そのため、DefaultChrome Profileはあなたに適合していない可能性がありますTest Specificationおよびロード中に例外が発生する場合があります。したがって、常にcustomizedChrome Profileを使用する必要があります。
createおよびopen新しいChromeプロファイル次の手順に従う必要があります。
chrome://settings/
が開きます。次のように、システムのprofile-directoryの絶対パスを取得します。
C:\\Users\\Thranor\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2
ここで、profile-directoryの値を、ChromeOptionsのインスタンスにAddArgument
メソッドと一緒に渡しますキーuser-data-dirは次のとおりです。
m_Options = new ChromeOptions();
m_Options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data/Profile 2");
m_Options.AddArgument("--disable-extensions");
m_Driver = new ChromeDriver(@"pathtoexe", m_Options);
m_Driver.Navigate().GoToUrl("somesite");
Test
を実行します