zoukankan      html  css  js  c++  java
  • selenium 处理浏览器多窗口

    测试过程中,会弹出一些子窗口,并且有可能在多个窗口之间切换

    必须要获取每个窗口的唯一标识符切换到该窗口,才能对该窗口的元素进行操作

    首先,获取每个窗口的唯一标识符,然后以及和的形式返回

                var mainWindow = new FirefoxDriver();
                INavigation navigation = mainWindow.Navigate();
                navigation.GoToUrl("http://www.hao123.com");
                IWebElement btnMainWindow = mainWindow.FindElement(By.XPath("//*[@id='site']/div/ul/li[1]/a"));
                btnMainWindow.Click();
                System.Collections.Generic.IList<string> handles = mainWindow.WindowHandles;//获取窗口的数量
                IWebDriver childWindow = mainWindow.SwitchTo().Window(handles[1]);//定位到第一个子窗口
                IWebElement textchildWindow = childWindow.FindElement(By.Id("kw"));
                textchildWindow.SendKeys("selenium");
                IWebElement buttonElement = childWindow.FindElement(By.Id("su"));
                buttonElement.Click();
                mainWindow.SwitchTo().Window(handles[0]);//回到主窗口
  • 相关阅读:
    solr的学习
    springMvc学习地址新
    mybatis教程
    spring学习地址
    spring思想分析
    java中反射讲解及实例
    学习地址
    linux常用命令
    XML Data Type Methods(一)
    Ruby中 使用Builder Xml Markup 操作XML
  • 原文地址:https://www.cnblogs.com/cloud-test/p/3468868.html
Copyright © 2011-2022 走看看