我试图加载一个chrome浏览器与 selenium 使用我现有的帐户和设置从我的个人资料。
我可以使用ChromeOptions来设置userdatadir和profile目录。这会像我想要的那样用我的配置文件加载浏览器,但浏览器随后会挂起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上。我不知道还能尝试什么。
3条答案
按热度按时间wmvff8tz1#
根据您的代码测试,您试图加载默认*Chrome配置文件 *,这将违反所有 * 最佳实践 *,因为 * 默认Chrome配置文件 * 可能包含以下内容之一:
因此,默认*Chrome配置文件 * 可能不符合您的 * 测试规范 ,并且在加载时可能会引发异常。因此,您应该始终使用自定义Chrome配置文件 *,如下所示。
要 * 创建 * 和 * 打开 * 新的 *Chrome配置文件 *,您需要遵循以下步骤:
chrome://settings/
。AddArgument
方法沿着key user-data-dir 将 profile-directory 的值传递给 ChromeOptions 的示例,如下所示:Test
o0lyfsai2#
如果您想使用默认配置文件运行Chrome(因为您需要扩展程序),则需要使用另一个浏览器(如Microsoft Edge或Microsoft IE)运行脚本,您的代码将启动Chrome示例。
我的PHP代码:
zte4gxcn3#
我的家伙,在我的环境与 chrome 63和 selenium 的控制,我发现同样的问题(60秒等待打开网页)。
为了解决这个问题,我找到了一种方法,在chrome ./[user-data-dir]/[Profile]/Preferences文件中设置默认网页,这是一个json数据,需要插入“Preferences”文件以获得结果
对于从selenium设置“首选项”,我使用了以下示例代码
我在这里找到信息https://chromedriver.chromium.org/capabilities