using BotSharp.Abstraction.Browsing.Models; namespace BotSharp.Abstraction.Browsing; public interface IWebBrowser { void SetServiceProvider (IServiceProvider services); Task LaunchBrowser(MessageInfo message, BrowserActionArgs args); Task ScreenshotAsync(MessageInfo message, string path); Task ScrollPage(MessageInfo message, PageActionArgs args); Task ActionOnElement(MessageInfo message, ElementLocatingArgs location, ElementActionArgs action); Task LocateElement(MessageInfo message, ElementLocatingArgs location); Task DoAction(MessageInfo message, ElementActionArgs action, BrowserActionResult result); Task PressKey(MessageInfo message, string key); Task InputUserText(BrowserActionParams actionParams); Task InputUserPassword(BrowserActionParams actionParams); Task ClickButton(BrowserActionParams actionParams); Task ClickElement(BrowserActionParams actionParams); Task ChangeListValue(BrowserActionParams actionParams); Task CheckRadioButton(BrowserActionParams actionParams); Task ChangeCheckbox(BrowserActionParams actionParams); Task GoToPage(MessageInfo message, PageActionArgs args); Task ExtractData(BrowserActionParams actionParams); Task EvaluateScript(string contextId, string script); Task CloseBrowser(string contextId); Task CloseCurrentPage(MessageInfo message); Task SendHttpRequest(MessageInfo message, HttpRequestParams actionParams); Task GetAttributeValue(MessageInfo message, ElementLocatingArgs location); Task SetAttributeValue(MessageInfo message, ElementLocatingArgs location); }