好的,这很奇怪。
我正在运行Java 8b144,Selenium 3.9.0
我设置了驱动程序的分辨率大小:
driver.manage().window().setSize(new Dimension(1920, 1080));
当我执行测试并且浏览器打开时,网页超出了一个显示器(屏幕分辨率设置为1920x1080),文本/图像大小都显着更大,因此我必须向右滚动才能看到剩下的我正在测试的网页。当我手动打开浏览器时,文本/图像大小都正常。
当Selenium启动时,我得到(注意更大的文本和图像大小):
如果我杀了测试,然后检查"文字大小"从浏览器菜单中它仍然设置为100% - 与我手动执行此操作时相同。
我也尝试过:
chromeOptions.addArguments("--window-size=1920,1080");
和
caps.setCapability("resolution", "1920x1080");
但那些似乎没有任何效果。
我想让Selenium启动浏览器并以与我手动执行此操作时相同的分辨率运行测试。
有没有人有任何想法?
答案 0 :(得分:2)
显然,从Chrome 54开始,默认的UI大小已增加。 https://productforums.google.com/forum/#!topic/chrome/DhTFXA-vcgI
我能够成功地将文本和图像的大小恢复正常的唯一方法是在启动浏览器时发送这些参数。
chromeOptions.addArguments("force-device-scale-factor=0.75");
chromeOptions.addArguments("high-dpi-support=0.75");
您可以根据需要调整值。新的默认UI大小为1.25。因此,只需设置值“= 1”即可获得原始UI大小。
这更像是一种解决方案而非解决方案。我希望chromeDriver可以选择在未来更容易地访问规模。
答案 1 :(得分:0)
您是否有定义自定义尺寸的具体原因?
尝试
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
以最大化状态启动浏览器
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver(options);
或者通过向ChromeOptions添加其他选项
来尝试此solution答案 2 :(得分:0)
您可以添加一行代码
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.body.style.transform='scale(0.9)';");
您可以根据您的要求将值0.9更改为任何值。 希望它有所帮助