using BotSharp.Abstraction.Browsing.Models; namespace BotSharp.Abstraction.Browsing; public interface IWebBrowser { Task LaunchBrowser(string contextId, string? url, bool openIfNotExist = true); Task ScreenshotAsync(string contextId, string path); Task ScrollPageAsync(BrowserActionParams actionParams); Task ActionOnElement(MessageInfo message, ElementLocatingArgs location, ElementActionArgs action); Task LocateElement(MessageInfo message, ElementLocatingArgs location); Task DoAction(MessageInfo message, ElementActionArgs action, BrowserActionResult result); 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(string contextId, string url, bool openNewTab = false); Task ExtractData(BrowserActionParams actionParams); Task EvaluateScript(string contextId, string script); Task CloseBrowser(string contextId); Task CloseCurrentPage(string contextId); Task SendHttpRequest(string contextId, HttpRequestParams actionParams); Task GetAttributeValue(MessageInfo message, ElementLocatingArgs location); }