繁体   English   中英

使用C#处理Selenium Webdriver中的弹出窗口

[英]Handle a popup in selenium webdriver using c#

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

我必须使用Selenium WebDriver和C#进行此操作。

弹出样本

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

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

这是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();

新的弹出消息也具有ID或类名。
首先获取该类的名称或ID,然后单击关闭按钮的xpath(可能会找到类名称)。

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

你可以试试

driver.switchTo().frame(0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM