我想在特定路径下下载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版本下载到自定义目录中,我认为它也有足够的信息来确定平台。
答案 0 :(得分:3)
Downloader
类包含一个方法public string GetExecutablePath(int revision)
,它完全符合我的预期。因此ExecutablePath
对象的LaunchOptions
属性应该只是:
ExecutablePath = downloader.GetExecutablePath(chromiumRevision)