selenium实战:浏览器子父窗口切换

package javaBase;

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Set;


/**
 * java selenium 浏览器子父窗口切换
 */
public class TestSetSeleniumServerJAR {
    public static void main(String[] args) {

        //谷歌浏览器
        WebDriver driver = new ChromeDriver();

        String url="http://localhost:8888/selenium/";
        driver.get(url);
        // 获取当前窗口的句柄
        String parentWindowId = driver.getWindowHandle();
        System.out.println("driver.getTitle(): " + driver.getTitle());

        WebElement button = driver.findElement(By.xpath("//input[@value='打开窗口']"));
        button.click();

        Set<String> allWindowsId = driver.getWindowHandles();

        // 获取所有的打开窗口的句柄
        for (String windowId : allWindowsId) {
            if (driver.switchTo().window(windowId).getTitle().contains("博客园")) {
                driver.switchTo().window(windowId);
                break;
            }
        }

        System.out.println("driver.getTitle(): " + driver.getTitle());

        // 再次切换回原来的父窗口
        driver.switchTo().window(parentWindowId);
        System.out.println("parentWindowId: " + driver.getTitle());

    }
}

 

posted @ 2021-09-07 14:42  测试长流  阅读(144)  评论(0)    收藏  举报