From ebd2688564603efdbaee6482e913502b536b67de Mon Sep 17 00:00:00 2001 From: Haiping Chen Date: Mon, 18 Nov 2024 14:15:23 +0000 Subject: [PATCH] Click on the body to give focus to the page --- .../BotSharp.Plugin.WebDriver.csproj | 4 ++-- .../Drivers/PlaywrightDriver/PlaywrightWebDriver.GoToPage.cs | 3 +++ .../Drivers/PlaywrightDriver/PlaywrightWebDriver.cs | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj b/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj index d6074b19..296e17c3 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj +++ b/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj @@ -20,8 +20,8 @@ - - + + diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.GoToPage.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.GoToPage.cs index 30bd6748..44916a89 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.GoToPage.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.GoToPage.cs @@ -36,6 +36,9 @@ public partial class PlaywrightWebDriver includeResponseUrls: args.IncludeResponseUrls); } + // Active current tab + await page.BringToFrontAsync(); + var response = await page.GotoAsync(args.Url, new PageGotoOptions { Timeout = args.Timeout > 0 ? args.Timeout : 30000 diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.cs index 4d13e26f..4be41140 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.cs @@ -75,6 +75,9 @@ public partial class PlaywrightWebDriver : IWebBrowser var page = _instance.GetPage(message.ContextId); if (page != null) { + // Click on the body to give focus to the page + await page.FocusAsync("input"); + await page.Keyboard.PressAsync(key); } }