• 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();
  • 相关阅读:
    成功连上数据库顿感世界美好许多
    MySQL数据库基本命令
    杭电1004 Let the Balloon Rise
    大数学习笔记
    安卓传感器开发之指南针
    java Class文件内部结构解析
    mysq数据库实战小型管理系统
    JSplitPane分隔线的用法
    swing 菜单+右键菜单+二级菜单实现
    input type=file 上传文件,同一个文件第二次上传无反应
  • 原文地址:https://www.cnblogs.com/yogouo/p/11949150.html
Copyright © 2020-2023  润新知