Chrome中运行Selenium测试时默认UI尺寸过大问题
解决Selenium Chrome窗口设置1920x1080后页面元素偏大的问题
这种情况我之前也碰到过,核心原因是Chrome的高DPI适配或者系统显示缩放没在Selenium启动的实例里正确生效,导致页面渲染时被放大,超出了你设置的窗口尺寸。下面是几个实用的解决办法:
方法1:强制Chrome使用100%缩放比例
通过ChromeOptions添加启动参数,强制禁用高DPI适配并固定缩放比例,这样页面元素就会按照你设置的窗口尺寸正常渲染:
ChromeOptions options = new ChromeOptions(); // 强制缩放比例为100% options.addArguments("--force-device-scale-factor=1"); // 禁用高DPI适配 options.addArguments("--high-dpi-support=1"); WebDriver driver = new ChromeDriver(options); driver.manage().window().setSize(new Dimension(1920, 1080));
方法2:改用最大化窗口(如果测试允许)
如果你的测试不需要严格固定1920x1080的尺寸,直接调用最大化窗口方法会更省心,Chrome会自动适配当前显示器的分辨率和系统缩放设置:
WebDriver driver = new ChromeDriver(); driver.manage().window().maximize();
问题根源说明
手动打开Chrome时,浏览器会读取系统的显示缩放设置(比如Windows中常见的125%/150%缩放)并自动适配渲染比例;但Selenium启动的是一个干净的Chrome实例,不会加载用户配置里的缩放偏好,默认没处理高DPI场景,就导致了元素被放大、页面超出窗口的情况。
内容的提问来源于stack exchange,提问作者Anton
相关产品推荐
相关产品推荐

