--user-data-dir
问题:
Selenium 用户在使用 --user-data-dir
和 --profile-directory
加载 Chrome 配置文件时经常遇到挂起。 浏览器在超时之前通常会冻结长达 60 秒,从而扰乱自动化。
解决方案:避免使用默认配置文件
关键是要避免使用默认的 Chrome 配置文件。 默认配置文件中的扩展、书签和浏览历史记录可能与测试冲突,从而导致错误。 相反,创建并使用专用配置文件。
创建自定义 Chrome 配置文件:
chrome://settings/
)。使用 ChromeOptions:
获得自定义配置文件后,请使用 ChromeOptions
指定其位置:
<code class="language-csharp">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); </code>
将 {profileDirectoryPath}
替换为您在上面第 5 步中找到的实际路径。 pathtoexe
应指向您的 ChromeDriver 可执行文件。
完整示例:
此代码演示了如何使用自定义配置文件:
<code class="language-csharp">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");</code>
测试执行成功:
通过使用这种自定义配置文件方法,Chrome 应该可以在没有挂起的情况下启动,从而使您的 Selenium 测试能够顺利运行。 请记住将占位符路径替换为您的实际目录路径。
以上是如何避免使用`-user-data-dir`'selenium chrome crome croment危险问题?的详细内容。更多信息请关注PHP中文网其他相关文章!