使用c#处理selenium webdriver中的弹出窗口

时间:2013-12-25 11:43:24

标签: c# selenium selenium-webdriver

当我点击页面上的按钮时,会显示一个弹出窗口。这不是一个Windows弹出窗口。它是应用程序弹出窗口..我在我的应用程序中获得的弹出窗口类似于我在图像中显示的带有X按钮的弹出窗口。现在如何将驱动程序控件移动到弹出窗口,然后单击弹出窗口上的关闭按钮,然后将我的控件移回原始页面。

我必须使用Selenium WebDriver和C#。

popup sample

4 个答案:

答案 0 :(得分:3)

您需要执行以下操作...

  • 循环浏览窗口并找到所需的窗口
  • 切换到Windows
  • 在当前窗口中找到该按钮并单击相同的

以下是C#中的示例代码

foreach (string handle in browser.WindowHandles) 
        {
            IWebDriver popup = driver.SwitchTo().Window(handle);

            if (popup.Title.Contains("popup title")) 
            {
              break;
            }
        }

IWebElement closeButton = driver.FindElement(By.Id("closeButton"));
closeButton.Click();

答案 1 :(得分:0)

新的流行消息也有id或类名。
首先获取弹出窗口的类名或id,然后选择关闭按钮的xpath(可能是我们将找到类名)并单击它。

答案 2 :(得分:0)

您显示的示例是弹出窗口,而是一个简单的DHTML窗口。 要访问您提供的示例的X,您可以使用:driver.findElementBy(By.id("profile-tooltip-closebtn")).click()

答案 3 :(得分:0)

你可以尝试

driver.switchTo().frame(0);