diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickButton.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickButton.cs index b4a9ce9ac..e0c509fca 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickButton.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickButton.cs @@ -8,7 +8,6 @@ public async Task ClickButton(BrowserActionParams actionParams) { await _instance.Page.WaitForLoadStateAsync(LoadState.DOMContentLoaded); await _instance.Page.WaitForLoadStateAsync(LoadState.NetworkIdle); - await Task.Delay(100); // Find by text exactly match @@ -52,10 +51,11 @@ public async Task ClickButton(BrowserActionParams actionParams) try { - await elements.HoverAsync(); await elements.ClickAsync(); - await Task.Delay(300); + await _instance.Page.WaitForLoadStateAsync(LoadState.NetworkIdle); + await Task.Delay(100); + return true; } catch (Exception ex) diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickElement.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickElement.cs index 1c13c6589..5fb2e4b77 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickElement.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.ClickElement.cs @@ -9,6 +9,7 @@ public async Task ClickElement(BrowserActionParams actionParams) { await _instance.Page.WaitForLoadStateAsync(LoadState.DOMContentLoaded); await _instance.Page.WaitForLoadStateAsync(LoadState.NetworkIdle); + await Task.Delay(100); // Retrieve the page raw html and infer the element path var regexExpression = actionParams.Context.MatchRule.ToLower() switch @@ -37,11 +38,11 @@ public async Task ClickElement(BrowserActionParams actionParams) { // var tagName = await elements.EvaluateAsync("el => el.tagName"); - await elements.HoverAsync(); await elements.ClickAsync(); // Triggered ajax await _instance.Page.WaitForLoadStateAsync(LoadState.NetworkIdle); + await Task.Delay(100); return true; }