我有一个使用 Selenium WebDriver 的项目,当网页中出现某个 Web 元素时,我需要捕获一个事件。这就像用户在 Windows 窗体应用程序中单击按钮,而程序正在执行其操作,但程序会对按下按钮做出反应。
以及如何在测试项目中实现这个逻辑?
// here some code
[Test]
public void WebDriverEventListeners()
{
EventFiringWebDriver eventFiringWebDriver = new EventFiringWebDriver(webDriver);
eventFiringWebDriver.FindElementCompleted += EventFiringWebDriver_FindElementCompleted;
eventFiringWebDriver.FindElement(MainMenuLocators._signInButton);
}
private void EventFiringWebDriver_FindElementCompleted(object? sender, FindElementEventArgs e)
{
Console.WriteLine("Found ya!");
}
// here some code
我只创建了这样的内容:当找到网络元素时,就会触发一个事件。而且它有效。
但是如果没有这段代码如何捕获事件呢?如何创建一个监听器来监听网页并等待特定的网页元素出现?我需要它来关闭一些垃圾表单,例如网站上的 cookie 文件按钮或提示。目前尚不清楚此类形式何时会出现。
建议:使用 Selenium
IJavaScriptExecutor
注入一段 javascript,通过单击“确定”按钮来处理事件?