Selenium---控制窗口、manage()方法

一、manage()

  1. driver.manage()是Selenium中浏览器"管理功能"的总入口,作用是获取浏览器的管理对象,该对象包含多个管理维度的子API

(1)window():进入窗口管理维度(控制窗口尺寸、位置等)

(2)cookies():进入Cookies管理维度(添加、删除、获取Cookies)

(3)timeouts():进入超时管理维度(设置页面加载、元素等待超时等)

2.manage.window():

(1)getPosition():返回point对象,包含含x、y轴位置

(2)setPosition(Point):设置窗口的坐标(将窗口移动到指定的x、y 位置)

(3)getSize():获取当前窗口的尺于(返回 Dimension对象,包含宽度、高度)

(4)setSize(Dimension):设置窗口的尺寸(指定宽度、高度)

(5)maximize():将窗口最大化

(6)minimize():将窗口最小化

(7)fullscreen():将窗口切换为全屏模式

二、代码示例

1.最大化、最小化、全屏

java 复制代码
@Test
    public void test() {  //窗口最大/最小/全屏
        //调用自定义工具类 初始化驱动
        WebDriver driver= ChromeDriverInitUtil.getChromeDriver();
        //指定要打开的网页
        driver.get("https://www.baidu.com");

        //1.控制窗口大小
        //1.1三秒设置窗口最大化
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        driver.manage().window().maximize();
        //1.2三秒后设置窗口最小化
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        driver.manage().window().minimize();

        //1.2三秒后设置窗口全屏
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        driver.manage().window().fullscreen();

        //3秒后关闭资源
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        driver.quit();

    }

2.自定义窗口大小

java 复制代码
@Test
    public void test2() { //自定义设置窗口大小
        //调用自定义工具类 初始化驱动
        WebDriver driver= ChromeDriverInitUtil.getChromeDriver();
        //指定要打开的网页
        driver.get("https://www.baidu.com");
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        //1.设置窗口宽度和高度
        driver.manage().window().setSize(new Dimension(500, 500));
        //2.获取窗口大小并输出
        Dimension dimension= driver.manage().window().getSize();
        System.out.println(dimension.getWidth());
        System.out.println(dimension.getHeight());
        System.out.println(dimension);

        //可以在启动时设置窗口最大化/最小化
        // options.addArguments("--start-minimized")

        //关闭资源
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        driver.quit();
    }
相关推荐
over69735 分钟前
从 LLM 到全栈 Agent:MCP 协议 × RAG 技术如何重构 AI 的“做事能力”
面试·llm·mcp
心之语歌1 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
SuperEugene2 小时前
Vue状态管理扫盲篇:如何设计一个合理的全局状态树 | 用户、权限、字典、布局配置
前端·vue.js·面试
华仔啊2 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang2 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang4 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Sailing4 小时前
🚀 别再乱写 16px 了!CSS 单位体系已经进入“计算时代”,真正的响应式布局
前端·css·面试
Java水解4 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SuperEugene6 小时前
Vue状态管理扫盲篇:Vuex 到 Pinia | 为什么大家都在迁移?核心用法对比
前端·vue.js·面试
Hilaku7 小时前
我会如何考核一个在简历里大谈 AI 提效的高级前端?
前端·javascript·面试