How to use LaunchOptions class of PuppeteerSharp package

Best Puppeteer-sharp code snippet using PuppeteerSharp.LaunchOptions

Methods.cs

Source:Methods.cs Github

copy

Full Screen

...44 args += $" --proxy-server={proxyClient.GetProxy(null).Authority}";45 }46 }47 // Configure the options48 var launchOptions = new LaunchOptions49 {50 Args = new string[] { args },51 ExecutablePath = data.Providers.PuppeteerBrowser.ChromeBinaryLocation,52 Headless = data.ConfigSettings.PuppeteerSettings.Headless,53 DefaultViewport = null // This is important54 };55 // Add the plugins56 var extra = new PuppeteerExtra();57 extra.Use(new StealthPlugin());58 // Launch the browser59 var browser = await extra.LaunchAsync(launchOptions);60 browser.IgnoreHTTPSErrors = data.ConfigSettings.PuppeteerSettings.IgnoreHttpsErrors;61 // Save the browser for further use62 data.SetObject("puppeteer", browser);...

Full Screen

Full Screen

SaveWebPage.xaml.cs

Source:SaveWebPage.xaml.cs Github

copy

Full Screen

...35 try36 {37 await new PuppeteerSharp.BrowserFetcher().DownloadAsync(PuppeteerSharp.BrowserFetcher.DefaultRevision);3839 var browser = await PuppeteerSharp.Puppeteer.LaunchAsync(new PuppeteerSharp.LaunchOptions40 {41 Headless = true42 });4344 var page = await browser.NewPageAsync(); //打开一个新标签45 await page.GoToAsync(this.tbox_Url.Text); //访问页面4647 //设置截图选项48 PuppeteerSharp.ScreenshotOptions screenshotOptions = new PuppeteerSharp.ScreenshotOptions();49 //screenshotOptions.Clip = new PuppeteerSharp.Media.Clip() { Height = 0, Width = 0, X = 0, Y = 0 };//设置截剪区域50 screenshotOptions.FullPage = true; //是否截取整个页面51 screenshotOptions.OmitBackground = false;//是否使用透明背景,而不是默认白色背景52 screenshotOptions.Quality = 100; //截图质量 0-100(png不可用)53 screenshotOptions.Type = PuppeteerSharp.ScreenshotType.Jpeg; //截图格式5455 var fileName = Environment.CurrentDirectory + $"\\download\\{await page.GetTitleAsync()}.jpg";5657 if (System.IO.File.Exists(fileName))58 {59 fileName = fileName.Replace(".jpg", $"{DateTime.Now.ToString("ffff")}.jpg");60 }6162 await page.ScreenshotAsync(fileName, screenshotOptions);6364 if (System.IO.File.Exists(fileName))65 {66 BitmapImage bi = new BitmapImage();67 bi.BeginInit();68 bi.UriSource = new Uri(fileName, UriKind.Absolute);69 bi.EndInit();70 this.image.Source = bi;71 }72 else73 {74 EMessageBox.Show("保存网页截图失败");75 }7677 //在最后记得关闭浏览器及释放资源78 browser.Disconnect();79 browser.Dispose();80 }81 catch(Exception ex)82 {83 EMessageBox.Show(ex.Message);84 }85 }8687 private async void btn_SaveAsPDF_Click(object sender, RoutedEventArgs e)88 {89 //打开网页的操作跟上面是一样的90 try91 {92 await new PuppeteerSharp.BrowserFetcher().DownloadAsync(PuppeteerSharp.BrowserFetcher.DefaultRevision);93 var browser = await PuppeteerSharp.Puppeteer.LaunchAsync(new PuppeteerSharp.LaunchOptions94 {95 Headless = true96 });97 var page = await browser.NewPageAsync(); //打开一个新标签98 await page.GoToAsync(this.tbox_Url.Text); //访问页面99100 //设置PDF选项101 PuppeteerSharp.PdfOptions pdfOptions = new PuppeteerSharp.PdfOptions();102 pdfOptions.DisplayHeaderFooter = false; //是否显示页眉页脚103 pdfOptions.FooterTemplate = ""; //页脚文本104105 var width = await page.EvaluateFunctionAsync<int>("function getWidth(){return document.body.scrollWidth}");106 var height = await page.EvaluateFunctionAsync<int>("function getHeight(){return document.body.scrollHeight}");107 ...

Full Screen

Full Screen

ApiFactory.cs

Source:ApiFactory.cs Github

copy

Full Screen

...66 sourceWriter.Namespace("Weikio.ApiFramework.Plugins.Browser");67 sourceWriter.StartClass($"ExecutableBrowser : WebBrowser");68 sourceWriter.WriteLine($"private readonly string _executablePath = @\"{executablePath}\";");69 sourceWriter.Write(70 "protected override async Task<PuppeteerSharp.Browser> GetBrowser() { var launchOptions = new LaunchOptions() { Headless = true, ExecutablePath = _executablePath };var result = await Puppeteer.LaunchAsync(launchOptions); return result; }");71 sourceWriter.FinishBlock(); // Finish the class72 sourceWriter.FinishBlock(); // Finish the namespace73 code = sourceWriter.ToString();74 }75 else76 {77 _logger.LogDebug("Using remote browser");78 var sourceWriter = new StringBuilder();79 sourceWriter.UsingNamespace("System.Threading.Tasks");80 sourceWriter.UsingNamespace("PuppeteerSharp");81 sourceWriter.Namespace("Weikio.ApiFramework.Plugins.Browser");82 sourceWriter.StartClass($"RemoteBrowser : WebBrowser");83 sourceWriter.WriteLine($"private readonly string _browserWSEndpoint = \"{configuration?.BrowserWSEndpoint}\";");84 sourceWriter.Write(...

Full Screen

Full Screen

Form1.cs

Source:Form1.cs Github

copy

Full Screen

...19 }20 private async void button1_Click(object sender, EventArgs e)21 { 22 await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);23 browser = await Puppeteer.LaunchAsync(new LaunchOptions24 {25 Headless = true26 });27 //如果await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);执行不成功28 //可以手动访问https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/,下载Chromium浏览器,并解压到指定位置29 //再通过以下代码初始化30 /*31 * LaunchOptions options = new LaunchOptions();32 options.Headless = true;33 options.DefaultViewport = null;34 //忽略证书错误35 options.IgnoreHTTPSErrors = true;36 //chromePath就是下载的Chromium浏览器解压的位置 37 options.ExecutablePath = chromePath;38 browser = await Puppeteer.LaunchAsync(options);39 */40 var page = await browser.NewPageAsync();41 await page.GoToAsync(this.textBox1.Text);42 var html = await page.GetContentAsync();43 this.richTextBox1.Text = html;44 }45 private async void button2_Click(object sender, EventArgs e)...

Full Screen

Full Screen

Program.cs

Source:Program.cs Github

copy

Full Screen

...27 [28592:33396:0217/074915.471:ERROR:shader_disk_cache.cc(601)] Shader Cache Creation failed: -228 [28592:33396:0217/074915.473:ERROR:browser_gpu_channel_host_factory.cc(138)] Failed to launch GPU process.29 at PuppeteerSharp.ChromiumProcess.State.StartingState.StartCoreAsync(ChromiumProcess p)30 at PuppeteerSharp.ChromiumProcess.State.StartingState.StartCoreAsync(ChromiumProcess p)31 at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options)32 at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options)33 */34 KillPreviousWebBrowserProcesses();35 StartWebBrowser().Wait();36 }37 static void KillPreviousWebBrowserProcesses()38 {39 var matchingProcesses =40 System.Diagnostics.Process.GetProcesses()41 /*42 2020-02-1743 .Where(process => process.StartInfo.Arguments.Contains(UserDataDirPath(), StringComparison.InvariantCultureIgnoreCase))44 */45 .Where(ProcessIsWebBrowser)46 .ToList();47 foreach (var process in matchingProcesses)48 {49 if (process.HasExited)50 continue;51 process.Kill();52 }53 }54 static bool ProcessIsWebBrowser(System.Diagnostics.Process process)55 {56 try57 {58 return process.MainModule.FileName.Contains(".local-chromium");59 }60 catch61 {62 return false;63 }64 }65 static async System.Threading.Tasks.Task StartWebBrowser()66 {67 await new PuppeteerSharp.BrowserFetcher().DownloadAsync(PuppeteerSharp.BrowserFetcher.DefaultRevision);68 browser = await PuppeteerSharp.Puppeteer.LaunchAsync(new PuppeteerSharp.LaunchOptions69 {70 Headless = false,71 UserDataDir = UserDataDirPath(),72 DefaultViewport = null,73 });74 browserPage = (await browser.PagesAsync()).FirstOrDefault() ?? await browser.NewPageAsync();75 await browserPage.ExposeFunctionAsync("____callback____", (string returnValue) =>76 {77 callbackFromBrowserDelegate?.Invoke(returnValue);78 return 0;79 });80 }81 }82}...

Full Screen

Full Screen

PuppeteerBrowser.cs

Source:PuppeteerBrowser.cs Github

copy

Full Screen

...36 private void Init()37 {38 logger.Debug($"{this.Name}: Initiating PuppeteerBrowser");39 var chromeBinaryFileName = Devmasters.Core.Util.Config.GetConfigValue("ChromeBinaryFullPath");40 var launchOptions = new LaunchOptions()41 {42 Headless = true,43 DefaultViewport = new ViewPortOptions()44 {45 DeviceScaleFactor = 1,46 IsLandscape = false,47 HasTouch = false,48 IsMobile = false,49 Height = this.height,50 Width = this.width,51 }52 };53 if (!string.IsNullOrEmpty(chromeBinaryFileName))54 launchOptions.ExecutablePath = chromeBinaryFileName;...

Full Screen

Full Screen

DocumentsV2Controller.cs

Source:DocumentsV2Controller.cs Github

copy

Full Screen

...11namespace PdfService.Controllers {12 [ApiController]13 [Route("[controller]")]14 public class DocumentsV2Controller: ControllerBase {15 //private readonly LaunchOptions _browserOptions = new LaunchOptions { Headless = true, ExecutablePath = @"C:\Users\Zeroget\Downloads\chrome-win\chrome-win\chrome.exe", Args = new string[] { "--no-sandbox" } };16 private readonly LaunchOptions _browserOptions = new LaunchOptions { Headless = true, ExecutablePath = @"/usr/bin/chromium-browser", Args = new string[] { "--no-sandbox" } };17 private static Browser s_browser = null;18 private readonly ILogger<DocumentsV2Controller> _logger;19 public DocumentsV2Controller(ILogger<DocumentsV2Controller> logger) {20 _logger = logger;21 }22 [HttpPost("byUrl")]23 public async Task<IActionResult> Get(List<string> url, bool landscape) {24 Stopwatch stopwatch = Stopwatch.StartNew();25 stopwatch.Start();26 var files = await GeneratePdfAsync(url, landscape);27 return Ok(new { Paths = files.Select(x => "/pdf/" + x), Elapsed = stopwatch.ElapsedMilliseconds });28 }29 [HttpPost("byFile")]30 public async Task<IActionResult> Post(IFormFileCollection fileStream, bool landscape) {...

Full Screen

Full Screen

PuppeteerUtility.csx

Source:PuppeteerUtility.csx Github

copy

Full Screen

...8 }9 return chromeProcs.First().Modules[0].FileName;10 }11 public async static Task<PageResult> GetPage(){12 var browser = await Puppeteer.LaunchAsync(new LaunchOptions13 {14 Headless = false,15 ExecutablePath = findChrome(),16 Args = new[]{ "--app=http://localhost/null" }17 });18 var page = (await browser.PagesAsync())[0];19 //await page.WaitForNavigationAsync();20 return new PageResult{21 Browser = browser, // they may need the browser to close it after they are done22 Page = page23 };24 }25 26}...

Full Screen

Full Screen

LaunchOptions

Using AI Code Generation

copy

Full Screen

1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5 {6 static async Task Main(string[] args)7 {8 {9 Args = new[] { "--no-sandbox" }10 };11 using (var browser = await Puppeteer.LaunchAsync(options))12 using (var page = await browser.NewPageAsync())13 {14 await page.ScreenshotAsync("google.png");15 }16 }17 }18}19using System;20using System.Threading.Tasks;21using PuppeteerSharp;22{23 {24 static async Task Main(string[] args)25 {26 {27 Args = new[] { "--no-sandbox" }28 };29 using (var browser = await Puppeteer.LaunchAsync(options))30 using (var page = await browser.NewPageAsync())31 {32 await page.ScreenshotAsync("google.png");33 }34 }35 }36}37using System;38using System.Threading.Tasks;39using PuppeteerSharp;40{41 {42 static async Task Main(string[] args)43 {44 {45 Args = new[] { "--no-sandbox" }46 };47 using (var browser = await Puppeteer.LaunchAsync(options))48 using (var page = await browser.NewPageAsync())49 {50 await page.ScreenshotAsync("google.png");51 }52 }53 }54}55using System;56using System.Threading.Tasks;57using PuppeteerSharp;58{59 {60 static async Task Main(string[] args)61 {62 {63 Args = new[] { "--no-sandbox

Full Screen

Full Screen

LaunchOptions

Using AI Code Generation

copy

Full Screen

1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5 {6 static async Task Main(string[] args)7 {8 {9 ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",10 Args = new[] { "--disable-gpu" }11 };12 using (var browser = await Puppeteer.LaunchAsync(options))13 using (var page = await browser.NewPageAsync())14 {15 await page.ScreenshotAsync("google.png");16 }17 }18 }19}20using System;21using System.Threading.Tasks;22using PuppeteerSharp;23{24 {25 static async Task Main(string[] args)26 {27 {28 ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",29 Args = new[] { "--disable-gpu" }30 };31 using (var browser = await Puppeteer.LaunchAsync

Full Screen

Full Screen

LaunchOptions

Using AI Code Generation

copy

Full Screen

1using PuppeteerSharp;2using System;3using System.Threading.Tasks;4{5 {6 static void Main(string[] args)7 {8 MainAsync().Wait();9 }10 static async Task MainAsync()11 {12 {13 Args = new string[] { "--window-size=1920,1080" }14 };15 using (var browser = await Puppeteer.LaunchAsync(options))16 {17 using (var page = await browser.NewPageAsync())18 {19 await page.ScreenshotAsync("google.png");20 }21 }22 }23 }24}25at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in26at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in27at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in28at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in29at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in30at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in31at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in32at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in

Full Screen

Full Screen

LaunchOptions

Using AI Code Generation

copy

Full Screen

1using System.Threading.Tasks;2using PuppeteerSharp;3{4 {5 static async Task Main(string[] args)6 {7 var browser = await Puppeteer.LaunchAsync(new LaunchOptions8 {9 });10 var page = await browser.NewPageAsync();11 }12 }13}

Full Screen

Full Screen

LaunchOptions

Using AI Code Generation

copy

Full Screen

1using System;2using System.IO;3using System.Threading.Tasks;4using PuppeteerSharp;5{6 {7 static async Task Main(string[] args)8 {9 {10 Args = new string[] { "--disable-notifications" }11 };12 using (var browser = await Puppeteer.LaunchAsync(options))13 {14 var page = await browser.NewPageAsync();15 var title = await page.EvaluateExpressionAsync<string>("document.title");16 Console.WriteLine(title);17 await page.ScreenshotAsync(Path.Combine(Directory.GetCurrentDirectory(), "example.png"));18 }19 }20 }21}

Full Screen

Full Screen

LaunchOptions

Using AI Code Generation

copy

Full Screen

1using PuppeteerSharp;2{3 {4 public string[] Args { get; set; }5 public string[] IgnoreDefaultArgs { get; set; }6 public bool IgnoreHTTPSErrors { get; set; }7 public bool Headless { get; set; }8 public string ExecutablePath { get; set; }9 public bool SlowMo { get; set; }10 public bool Dumpio { get; set; }11 public bool Devtools { get; set; }12 public bool HandleSIGINT { get; set; }13 public bool HandleSIGTERM { get; set; }14 public bool HandleSIGHUP { get; set; }15 public bool Timeout { get; set; }16 public bool DefaultViewport { get; set; }17 public bool Args { get; set; }18 public bool IgnoreDefaultArgs { get; set; }19 public bool IgnoreHTTPSErrors { get; set; }20 public bool Headless { get; set; }21 public bool ExecutablePath { get; set; }22 public bool SlowMo { get; set; }23 public bool Dumpio { get; set; }24 public bool Devtools { get; set; }25 public bool HandleSIGINT { get; set; }26 public bool HandleSIGTERM { get; set; }27 public bool HandleSIGHUP { get; set; }28 public bool Timeout { get; set; }29 public bool DefaultViewport { get; set; }30 public bool Args { get; set; }31 public bool IgnoreDefaultArgs { get; set; }32 public bool IgnoreHTTPSErrors { get; set; }33 public bool Headless { get; set; }34 public bool ExecutablePath { get; set; }35 public bool SlowMo { get; set; }36 public bool Dumpio { get; set; }37 public bool Devtools { get; set; }38 public bool HandleSIGINT { get; set; }39 public bool HandleSIGTERM { get; set; }40 public bool HandleSIGHUP { get; set; }41 public bool Timeout { get; set; }42 public bool DefaultViewport { get; set; }43 public bool Args { get; set; }44 public bool IgnoreDefaultArgs { get;

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Puppeteer-sharp automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used methods in LaunchOptions

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful