C# Selenium WebDriver:如何创建侦听器来捕获事件?

问题描述 投票:0回答:1

我有一个使用 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 文件按钮或提示。目前尚不清楚此类形式何时会出现。

c# selenium-webdriver
1个回答
0
投票

建议:使用 Selenium

IJavaScriptExecutor
注入一段 javascript,通过单击“确定”按钮来处理事件?

© www.soinside.com 2019 - 2024. All rights reserved.