Selenium+Java(十一)Selenium窗口切换
前言:
Selenium在当前页面调整到新页面时打开了新的窗口,此时就需要跳转到新的窗口去,需要把窗口进行切换。
获取窗口句柄方法:
获取所有:
- //获取所有窗口句柄,返回的是set类型
- driver.getWindowHandles();
获取当前:
- //获取当前窗口句柄,返回的是string类型
- driver.getWindowHandle();
窗口切换方法:
- //窗口切换方法,需传入需求切换窗口的句柄
- driver.switchTo().window();
实例:
- String url = "https://www.baidu.com/";
- int j = 0 ;
- //引用IE浏览器驱动
- System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe");
- //创建IE浏览器对象
- InternetExplorerDriver driver = new InternetExplorerDriver();
- //浏览器最大化
- driver.manage().window().maximize();
- //等待浏览器加载完毕
- driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
- //打开网站
- driver.get(url);
- driver.findElement(By.id("kw")).sendKeys("上海");
- driver.findElement(By.id("su")).click();
- WebElement s = driver.findElement(By.xpath("//div[@id='1']/h3/a"));
- s.click();
- //获取当前窗口句柄
- String win = driver.getWindowHandle();
- //获取所有窗口句柄
- Set<String>Windows = driver.getWindowHandles();
- //把获取到的窗口句柄放到list中
- List<String>allWindows = new ArrayList<String>(Windows);
- //切换到新打开的窗口并最大化
- for (int i = 0; i < allWindows.size(); i++) {
- if (!allWindows.get(i).equals(win)) {
- j = i;
- }
- }
- driver.switchTo().window(allWindows.get(j));
- driver.manage().window().maximize();
版权声明:本文为yogouo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。