如何在 PuppeteerSharp 中设置下载行为?

我想设置浏览器的下载行为以满足测试需要

我尝试过此主题的解决方案:puppeteer - 如何设置下载位置

var browser = await StartNewChromeAsync(); //starting new chrome without extensions

var pages = await browser.PagesAsync();

var firstPage = pages[0];

var cdp = await firstPage.Target.CreateCDPSessionAsync();

await cdp.SendAsync("Page.setDownloadBehavior", new

                {

                    behavior = "allow",

                    downloadPath = Path.GetAbsolutePath("./testing_downloads")

                });

await cdp.DetachAsync();

我期望文件将在 ./testing_downloads 中下载,但它在默认路径中下载。 我做错了什么?



胡说叔叔
浏览 226回答 2
2回答

尚方宝剑之说

//Set the options for download file through puppeteer                            var options = new LaunchOptions                            {                                Headless = false,                                ExecutablePath = "Path Of Browser to execute, example c://....edge.exe ", //                                DefaultViewport = null,                                Args = new[] { "--no-sandbox", "--start-maximized" },                                                            };//Launch puppeteer for scrap the Document Data                                using (var browser = await Puppeteer.LaunchAsync(options))                                using (var page = await browser.NewPageAsync())                                {                                    await page.Target.CreateCDPSessionAsync().Result.SendAsync("Page.setDownloadBehavior", new                                    {                                        behavior = "allow",                                        downloadPath = directoryToSave                                                                            }, false);                                    await page.AuthenticateAsync(new Credentials                                    {                                        Username = WindowsCredentials.Username,                                        Password = WindowsCredentials.Password                                    });                                    await page.GoToAsync("URL of file to download");

哈士奇WWW

我发现在现代版本的 Chrome 中无法执行此操作,因为 Page.setDownloadBehavior 已从 CDP v1.3 中删除https://chromedevtools.github.io/devtools-protocol /1-3.更新: 这项工作https://gist.github.com/vabka/88a9b054ee756a53a44691366b16b474
打开App,查看更多内容
随时随地看视频慕课网APP