java+selenium——打开多个窗口,并切换窗口——方法三

Posted 小白龙白龙马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java+selenium——打开多个窗口,并切换窗口——方法三相关的知识,希望对你有一定的参考价值。

package rjcs;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Set;

import org.openqa.selenium.interactions.Actions;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
import org.openqa.selenium.*;

import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.openqa.selenium.OutputType;

import com.thoughtworks.selenium.SeleneseTestNgHelper;

public class ckqhh 
{
    public static void main(String[] args)
    
    {
         System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");    //设置火狐的安装路径,防止系统找不到
            
         FirefoxDriver driver = new FirefoxDriver();        //初始化FireFox浏览器实例,并打开浏览器
         
        try
        {
             driver.manage().window().maximize();         //最大化窗口
             
             Thread.sleep(3000);        
             
             driver.manage().window().maximize();         //最大化窗口
             
             Thread.sleep(3000);
        
             driver.get("https://www.baidu.com");                    //打开一个网址,方法一     
             
             ArrayList<String> list=new ArrayList<String>(); 
             list.add(driver.getWindowHandle());
        
             Thread.sleep(3000);                  
                          
              driver.findElementByPartialLinkText("设为主页").click();
             list.add(driver.getWindowHandle());

             Thread.sleep(3000);  
             
             System.out.print(list);
             

             Thread.sleep(3000);   

           String handle = driver.getWindowHandle(); // 获取所有页面的句柄,并循环判断不是当前的句柄 
           
           for (String te : list) 
           { 
               if (!handle.equals(te)) 
                   driver.close(); 
               driver.switchTo().window(te); 
           }
             
             Thread.sleep(8000); 
             
        }catch (Exception e) 
        {
            e.printStackTrace();
        }finally 
        {
            driver.quit();
        
         }
   }
    

}

以上是关于java+selenium——打开多个窗口,并切换窗口——方法三的主要内容,如果未能解决你的问题,请参考以下文章

java+selenium——打开多个窗口,并切换窗口——方法一

selenium打开新窗口并切换

selenium 切换窗口的几种方法

selenium测试(Java)--多窗口切换(十三)

Selenium----多窗口切换

Selenium用法详解窗口表单切换JAVA爬虫