diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightInstance.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightInstance.cs index cd6daa34..13b52b3e 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightInstance.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightInstance.cs @@ -43,6 +43,11 @@ public class PlaywrightInstance : IDisposable } } + if (!string.IsNullOrEmpty(pattern)) + { + return null; + } + return _contexts[contextId].Pages.LastOrDefault(); } 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 40f617d2..7b03b57a 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.GoToPage.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.GoToPage.cs @@ -30,6 +30,13 @@ public partial class PlaywrightWebDriver includeResponseUrls: args.IncludeResponseUrls); } + if (page == null) + { + page = await _instance.NewPage(message, enableResponseCallback: args.EnableResponseCallback, + excludeResponseUrls: args.ExcludeResponseUrls, + includeResponseUrls: args.IncludeResponseUrls); + } + var response = await page.GotoAsync(args.Url, new PageGotoOptions { Timeout = args.Timeout