--user-data-dir
問題:
Selenium ユーザーは、--user-data-dir
と --profile-directory
で Chrome プロファイルを読み込むときに頻繁にハングに遭遇します。 多くの場合、ブラウザはタイムアウトする前に最大 60 秒間フリーズし、自動化が中断されます。
解決策: デフォルトのプロファイルを避ける
重要なのは、デフォルトの Chrome プロファイルを使用しないことです。 デフォルトのプロファイル内の拡張機能、ブックマーク、閲覧履歴がテストと競合し、エラーが発生する可能性があります。 代わりに、専用のプロファイルを作成して使用してください。
カスタム Chrome プロファイルの作成:
chrome://settings/
) を開きます。ChromeOptions の使用:
カスタム プロファイルを取得したら、ChromeOptions
を使用してその場所を指定します。
ChromeOptions options = new ChromeOptions(); options.AddArgument($"--user-data-dir={profileDirectoryPath}"); // Use string interpolation for clarity options.AddArgument("--disable-extensions"); ChromeDriver driver = new ChromeDriver(@"pathtoexe", options);
{profileDirectoryPath}
を、上記の手順 5 で見つけた実際のパスに置き換えます。 pathtoexe
は ChromeDriver 実行可能ファイルを指す必要があります。
完全な例:
このコードは、カスタム プロファイルの使用を示します:
ChromeOptions options = new ChromeOptions(); options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data/Profile 2"); options.AddArgument("--disable-extensions"); ChromeDriver driver = new ChromeDriver(@"pathtoexe", options); driver.Navigate().GoToUrl("somesite");
テストの実行成功:
このカスタム プロファイルのアプローチを使用すると、Chrome がハングすることなく起動し、Selenium テストをスムーズに実行できるようになります。 プレースホルダーのパスを実際のディレクトリのパスに置き換えることを忘れないでください。
以上がセレンクロムプロファイルを避ける方法 ` - user-data-dir`を使用して問題を吊るしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。