JAVA selenium打开新窗口,多个窗口切换进行操作

  System.out.println("正在打开浏览器");
        //1、引入谷歌驱动 控制浏览器
        System.setProperty(driver, chromeDriver);
        //2、打开浏览器
        WebDriver driver = new ChromeDriver();
        //3、设置超时等待30秒 窗口最大化
        Duration duration = Duration.ofSeconds(30);
        driver.manage().timeouts().implicitlyWait(duration);
        driver.manage().window().maximize();

        //4、创建一个map集合存放浏览器句柄
        HashMap<String, String> handleMap = new HashMap<>();

        //5、访问百度
        driver.get("https://www.baidu.com/");

        //6、获取到打开百度窗口的句柄
        String baiDuHandle = driver.getWindowHandle();

        //7、将百度句柄放到map中
        handleMap.put("baidu", baiDuHandle);

        //8、新开一个窗口,用js来完成
        String js = "window.open(\"https://www.sogou.com\");";
        ((JavascriptExecutor) driver).executeScript(js);

        //9、获取到所有的句柄
        Set<String> set = driver.getWindowHandles();

        //10、循环找到搜狗窗口句柄
        for (String s : set) {
            //10.1、将搜狗的句柄放到map中
            if (!s.equals("baiDuHandle"))
                handleMap.put("souGou", s);
        }

        //11、切换到搜狗的窗口
        driver.switchTo().window(handleMap.get("souGou"));

        //12、然后跳转一个页面
        driver.get("https://fanyi.youdao.com/");

        //13、退出所有页面
        driver.quit();
    }

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值