我在我的应用程序中使用Chrome、Firefox和Edge的驱动程序,而且始终存在相同的问题。因此,在这篇文章中,我将我的请求减少到Chrome驱动程序作为一个例子。
需要的是:
到chromedriver.exe
的默认下载目录
这里有一个页面,向我们展示Chrome驱动程序类及其选项:https://www.selenium.dev/selenium/docs/api/dotnet/html/T_OpenQA_Selenium_Chrome_ChromeDriver.htm
但我的三个需要的点没有列出在一起。
下面是“我的代码”中的一段注释:
string str_DriverPath = @"C:\_MT5_TOOLS\DRIVER\CHROME";
// hide Console
ChromeDriverService service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
//// change Standard-Download-Path
ChromeOptions options = new ChromeOptions();
var downloadDirectory = GlobalVars.RootPath + @"Pool\" + GlobalVars.strSymbol + @"\" + GlobalVars.strSymbol + @"_" + GlobalVars.strPeriod;
options.AddUserProfilePreference("download.default_directory", downloadDirectory);
options.AddUserProfilePreference("download.prompt_for_download", false);
options.AddUserProfilePreference("disable-popup-blocking", "true");
// Start Driver:
//webdriver = new ChromeDriver(service, options); // works fine
//webdriver = new ChromeDriver(str_DriverPath, options); // works fine
webdriver = new ChromeDriver(str_DriverPath, service, options); // will not work如何将我的三分组合成一个司机?
发布于 2022-07-11 16:10:27
在尝试了环境变量" path“周围的每一件可能的事情来设置驱动程序路径之后,在2022年似乎是不可能的。从手工到编码,这对我来说还是行不通的!也许这是过去的诡计..。
解决方案:
在另一个门户网站上,我找到了一个非常好的简单的解决方案!下面的代码中的第二行完成了这个任务。这只是服务,那里的路径可以被放置到驱动程序。这与Edge、Chrome和Firefox的工作原理相同。
// DriverService with Path to driver.exe
ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"C:\_MT5_TOOLS\DRIVER\CHROME");
// hide driver Console? true/false
service.HideCommandPromptWindow = true;
// change Standard-Download-Path
ChromeOptions options = new ChromeOptions();
var downloadDirectory = GlobalVars.RootPath + @"Pool\" + GlobalVars.strSymbol + @"\" + GlobalVars.strSymbol + @"_" + GlobalVars.strPeriod;
options.AddUserProfilePreference("download.default_directory", downloadDirectory);
options.AddUserProfilePreference("download.prompt_for_download", false);
options.AddUserProfilePreference("disable-popup-blocking", "true");
// Selenium Driver starten:
webdriver = new ChromeDriver(service, options);https://stackoverflow.com/questions/72928756
复制相似问题