Add hook to handle locate element for PlayWright
This commit is contained in:
parent
5adaa3ac96
commit
16300b9a1d
|
|
@ -5,4 +5,5 @@ namespace BotSharp.Abstraction.Browsing;
|
|||
public interface IWebDriverHook
|
||||
{
|
||||
Task<List<string>> GetUploadFiles(MessageInfo message);
|
||||
Task OnLocateElement(MessageInfo message, string content);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,6 +114,11 @@ public partial class PlaywrightWebDriver
|
|||
// fix if html has &
|
||||
result.Body = HttpUtility.HtmlDecode(html);
|
||||
result.IsSuccess = true;
|
||||
var hooks = _services.GetServices<IWebDriverHook>();
|
||||
foreach (var hook in hooks)
|
||||
{
|
||||
await hook.OnLocateElement(message, result.Body);
|
||||
}
|
||||
}
|
||||
else if (count > 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ public class UtilWebLocateElementFn : IFunctionCallback
|
|||
MessageId = message.MessageId,
|
||||
ContextId = webDriverService.GetMessageContext(message)
|
||||
};
|
||||
browser.SetServiceProvider(_services);
|
||||
var result = await browser.LocateElement(msg, locatorArgs);
|
||||
|
||||
message.Content = $"Locating element {(result.IsSuccess ? "success" : "failed")}. ";
|
||||
|
|
|
|||
Loading…
Reference in a new issue