Update settings for IsEnableScreenshot for web driver

This commit is contained in:
Visagan Guruparan 2025-03-12 10:51:24 -05:00
parent 47d728b68a
commit 9b6cf7a9ac
2 changed files with 15 additions and 10 deletions

View file

@ -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; }
}

View file

@ -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<BrowserActionResult> 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<WebBrowsingSettings>();
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;
}
}