C# 设置默认下载目录 chrome WebDriver

本文关键字:chrome WebDriver 下载 设置 默认 | 更新日期: 2023-09-27 18:35:00

这是我的解决方案,基于这个问题

但它不起作用,我需要将谷歌浏览器的默认下载目录更改为

C:''temp''

感谢您的帮助。

public class ChromeOptionsWithPrefs : ChromeOptions
{
    public Dictionary<string, object> prefs { get; set; }
}
public static void Initialize()
{
    var options = new ChromeOptionsWithPrefs
    {
        prefs = new Dictionary<string, object>
        {
            {"download.default_directory", @"C:'temp'"}
        }
    };
    
    RemoteWebDriver driver = new ChromeDriver(@"D:'chromedriver_win32'", options);
    
    var download = driver.FindElements(By.XPath("//a[.='Download']"));
    
    foreach (var t in download)
    {
        t.SendKeys(Keys.Enter);
    }
}

我找到了这个解决方案,它有效

var chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("download.default_directory", @"D:'DataTest");
chromeOptions.AddUserProfilePreference("intl.accept_languages", "nl");
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
var driver = new ChromeDriver(@"D:'chromedriver_win32'", chromeOptions);
var download = driver.FindElements(By.XPath("//a[.='ダウンロード']"));
foreach (var t in download)
{
    t.SendKeys(Keys.Enter);
}

C# 设置默认下载目录 chrome WebDriver

只是粘贴OP找到的答案,但没有添加为答案。

var chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("download.default_directory", @"D:'DataTest");
chromeOptions.AddUserProfilePreference("intl.accept_languages", "nl");
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
var driver = new ChromeDriver(@"D:'chromedriver_win32'", chromeOptions);
var download = driver.FindElements(By.XPath("//a[.='ダウンロード']"));
foreach (var t in download)
{
    t.SendKeys(Keys.Enter);
}

这些设置对我有用

var chromeOptions = new ChromeOptions();
var downloadDirectory = "C:'Temp";
chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory);
chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
var driver =  new ChromeDriver(chromeOptions);
我知道

这不是最好的,甚至可能不是好方法,但如果您没有发现其他答案有帮助,可能会有所帮助。它对我有用:

private static ChromeOptions options()
{
    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.AddUserProfilePreference("download.default_directory", @"path");
    chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);
    return chromeOptions;
    }
     
protected static IWebDriver driver = new ChromeDriver(options());
对我来说

效果很好:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("download.default_directory", @"path");
chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);

谢谢