我在c#和ChromeDriver上使用selenium。在运行时构建驱动程序之后,我正在尝试更改下载目录。这个例子展示了在构建驱动程序之后,我试图做些什么来更改download.default_directory,
ChromeOptions chromeopt = new ChromeOptions();
chromeopt.AddUserProfilePreference("plugins.always_open_pdf_externally", true);
chromeopt.AddUserProfilePreference("profile.default_content_settings.popups", 0);
chromeopt.AddUserProfilePreference("download.prompt_for_download", false);
chromeopt.AddUserProfilePreference("download.default_directory", "c:\\first");
chromeopt.AddUserProfilePreference("intl.accept_languages", "nl");
chromeopt.AddUserProfilePreference("disable-popup-blocking", "true");
driver = new ChromeDriver(chromeopt);
chromeopt.AddUserProfilePreference("download.default_directory", "c:\\second");发布于 2017-06-03 11:59:03
使用selenium,答案是否定的。一旦我们设置了默认目录,我们就不能更改下载路径。
但是,我们可以使用C#内置库将下载的文件从默认下载路径削减到任何其他路径。下面的代码可能会给出更多的想法。
Using system.IO;
//Actual downloaded path
if(file.exist (@"c:\folder1\Test.jpg"))
{
//move file to another directory
file.Move(@"c:\folder2\Test.jpg")
}希望这能帮到你。谢谢。
发布于 2017-06-03 11:09:55
当您为任何给定的驱动程序设置download.default_directory (在您的示例中是ChromeDriver)时,它是在创建WebDriver会话时设置的,在运行时不能更改。
即使您掌握了创建的会话的功能,也无法更改这些功能。所以简单地说,答案是No.
为了从一个新的download.default_directory开始,你必须启动一个新的会话.
如果这回答了你的问题,请告诉我。
https://stackoverflow.com/questions/44342926
复制相似问题