如何切换弹出窗口的选项卡

时间:2016-04-21 12:57:44

标签: selenium-webdriver

enter image [enter image description here] 1此处的说明嗨当我提供详细信息并点击按钮时会出现一个弹出窗口,其中有两个标签如何在这些标签之间切换?

Util.NavigateToLoginPage(ref Driver);
            HomeWf.Login(Driver, Username, Password);
            var homePage = new PrimaryNavigation(Driver);
            homePage.ClickOnMainNavigators(Driver, MainNavigation.Products);
            homePage.ClickOnSubMenuOptions(Driver, SubMenuLinks.Products.AddNewProduct);
            var bulndlepage = new ProductHomePage(Driver);
            bulndlepage.LnkBundleProduct.Click();
            //bulndlepage.TxtBrowseNode.SendKeys("Mobile Phones");
             bulndlepage.SelectCategory(Driver, "Books"
            Console.WriteLine("TxtTitle PRINTED");
            bulndlepage.TxtSku.SendKeys("6701");
            Console.WriteLine("TxtSku PRINTED");
            bulndlepage.ChkCod.Click();
            Console.WriteLine("ChkCod PRINTE
            bulndlepage.ChkOffline.Click();
            Console.WriteLine("ChkOffline PRINTED");
            bulndlepage.BtnSaveNext.Click();
            bulndlepage.BtnSaveNext.Click();
            bulndlepage.BtnAssociateProd.Click();
           Driver.SwitchTo().Window(Driver.WindowHandles.Last());

2 个答案:

答案 0 :(得分:0)

您需要存储第一个窗口名称和弹出窗口名称。

//Click on your PopUp
driver.FindElement(By.CssSelector("input[id*='IdElemToCLick']")).Click();

string LastWindow = null;
string FirstWindow = null;

foreach (var item in driver.WindowHandles)
{
    //Stock first window name
    if (FirstWindow == null)
    {
        FirstWindow = item;
    }
    LastWindow = item;
}

if (LastWindow != null)
{
    // Go to PopUp
    driver.SwitchTo().Window(LastWindow);
    // Do something with this PopUp
    [...]
    // Go back to Main Page
    driver.SwitchTo().Window(FirstWindow);

}

答案 1 :(得分:0)

我看到窗口出现的是Modal窗口。您只需获取选项卡的id / cssSelector / xpath,然后根据需要单击它们。