BotSharp/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ScrollPage.cs

25 lines
969 B
C#
Raw Normal View History

2024-02-15 20:37:42 +00:00
namespace BotSharp.Plugin.WebDriver.Drivers.PlaywrightDriver;
public partial class PlaywrightWebDriver
{
2024-03-08 13:17:36 +00:00
public async Task<BrowserActionResult> ScrollPageAsync(BrowserActionParams actionParams)
2024-02-15 20:37:42 +00:00
{
2024-03-08 13:17:36 +00:00
var result = new BrowserActionResult();
2024-04-09 03:38:56 +00:00
await _instance.Wait(actionParams.ContextId);
2024-02-15 20:37:42 +00:00
2024-04-09 03:38:56 +00:00
var page = _instance.GetPage(actionParams.ContextId);
2024-02-15 20:37:42 +00:00
if(actionParams.Context.Direction == "down")
await page.EvaluateAsync("window.scrollBy(0, window.innerHeight - 200)");
else if (actionParams.Context.Direction == "up")
await page.EvaluateAsync("window.scrollBy(0, -window.innerHeight + 200)");
else if (actionParams.Context.Direction == "left")
await page.EvaluateAsync("window.scrollBy(-400, 0)");
else if (actionParams.Context.Direction == "right")
await page.EvaluateAsync("window.scrollBy(400, 0)");
2024-03-08 13:17:36 +00:00
result.IsSuccess = true;
return result;
2024-02-15 20:37:42 +00:00
}
}