我正在使用 C# 在 Selenium WebDriver 中编写脚本。在脚本中,我正在从网页下载一些文档,我想以动态路径下载它。我正在使用 ChromeOptions 类及其方法来完成任务。这是我的示例代码:
ChromeOptions options = new ChromeOptions();
options.AddUserProfilePreference("download.default_directory", "C:\Users\Desktop\MyDownloads");
IWebDriver driver = new ChromeDriver(@"C:\Users\chromedriver_win32\" , options);
如果我在函数的开头使用上面的代码,那么它工作正常。
但是,我想在函数中间设置 ChromeOptions 类的属性,因为我的路径是动态的。因此,我只是用字符串变量更改硬编码路径,并将以下代码放在函数中间
ChromeOptions options = new ChromeOptions();
options.AddUserProfilePreference("download.default_directory", strDownloadFinalPath);
IWebDriver driver = new ChromeDriver(@"C:\Users\chromedriver_win32\" , options);
现在,当我在函数中间或运行时更新 ChromeOptions 时,它会创建另一个 ChromeDriver 实例并打开另一个 chrome 窗口。它不会更新 ChromeOptions 类的属性。我做了一些实验,比如从 IChromeDriver 类中删除 chromedriver.exe 的路径,但它开始出现以下错误:
当前目录或 PATH 环境变量上的目录中不存在 chromedriver.exe 文件。
在不创建 IWebDriver 类的另一个实例的情况下,在代码中间设置 ChromeOptions 的方法是什么?