Как использовать пользовательскую папку загрузок и путь к исполняемому файлу программы запуска?

Я хочу скачать Chromium по определенному пути. Но чтобы затем запустить Chromium с использованием исполняемого файла по тому же пути, мне нужно создать путь к исполняемому файлу, и это выглядит немного неуклюже. Я надеюсь, что есть лучший способ, которым я в настоящее время скучаю. Вот соответствующая версия моего кода в основном:

string chromiumDownloadsPath =
    String.Format(
        @"{0}\Puppeteer Sharp downloads",
        baseDirectoryPath
        );

Downloader downloader = new Downloader(chromiumDownloadsPath);
await downloader.DownloadRevisionAsync(chromiumRevision);

var browser = await Puppeteer.LaunchAsync(
    new LaunchOptions
    {
        Headless = true,
        ExecutablePath =
            String.Format(
                @"{0}\Win32-{1}\chrome-win32\chrome.exe",
                chromiumDownloadsPath,
                chromiumRevision
                )
    },
    chromiumRevision
    );

То, что кажется неуклюжим, в частности, необходимо добавить "\Win32-{1}\chrome-win32" часть пути. я ожидал Puppeteer.LaunchAsync "знать", как найти исполняемый файл по номеру ревизии, потому что он "должен" уже "знать", что я дал указание Puppeteer Sharp загрузить сборки Chromium в пользовательский каталог, и я думаю, у него достаточно информации, чтобы определить платформу тоже.

1 ответ

Решение

Downloader класс содержит метод public string GetExecutablePath(int revision) это именно то, что я ожидал, возможно. ExecutablePath собственность LaunchOptions объект должен быть таким:

        ExecutablePath = downloader.GetExecutablePath(chromiumRevision)
Другие вопросы по тегам