From 9b6cf7a9ac2d500284fe839322d8ce68947a9d2a Mon Sep 17 00:00:00 2001 From: Visagan Guruparan <103048@smsassist.com> Date: Wed, 12 Mar 2025 10:51:24 -0500 Subject: [PATCH] Update settings for IsEnableScreenshot for web driver --- .../Browsing/Settings/WebBrowsingSettings.cs | 1 + .../PlaywrightWebDriver.Screenshot.cs | 24 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/Infrastructure/BotSharp.Abstraction/Browsing/Settings/WebBrowsingSettings.cs b/src/Infrastructure/BotSharp.Abstraction/Browsing/Settings/WebBrowsingSettings.cs index 9565e217b..7521a3e4c 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Browsing/Settings/WebBrowsingSettings.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Browsing/Settings/WebBrowsingSettings.cs @@ -6,4 +6,5 @@ public class WebBrowsingSettings public bool Headless { get; set; } // Default timeout in milliseconds public float DefaultTimeout { get; set; } = 30000; + public bool IsEnableScreenshot { get; set; } } diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.Screenshot.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.Screenshot.cs index 294c95dbc..b74af9c48 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.Screenshot.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.Screenshot.cs @@ -1,3 +1,5 @@ +using BotSharp.Abstraction.Browsing.Settings; + namespace BotSharp.Plugin.WebDriver.Drivers.PlaywrightDriver; public partial class PlaywrightWebDriver @@ -5,19 +7,21 @@ public partial class PlaywrightWebDriver public async Task ScreenshotAsync(MessageInfo message, string path) { var result = new BrowserActionResult(); - - await _instance.Wait(message.ContextId, waitNetworkIdle: false); - var page = _instance.GetPage(message.ContextId); - - await Task.Delay(300); - var bytes = await page.ScreenshotAsync(new PageScreenshotOptions + var _webDriver = _services.GetRequiredService(); + if (_webDriver.IsEnableScreenshot) { - Path = path, - FullPage = true - }); + await _instance.Wait(message.ContextId, waitNetworkIdle: false); + var page = _instance.GetPage(message.ContextId); + await Task.Delay(300); + var bytes = await page.ScreenshotAsync(new PageScreenshotOptions + { + Path = path, + FullPage = true + }); + result.Body = "data:image/png;base64," + Convert.ToBase64String(bytes); + } result.IsSuccess = true; - result.Body = "data:image/png;base64," + Convert.ToBase64String(bytes); return result; } }