执行UI测试时,我收到一个错误,即selenium不支持chromedriver的自动窗口大小调整,导致测试失败。
有没有办法使用headless-chrome
的
我尝试了以下内容,
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
另外,将"--start-maximized"
替换为"--start-fullscreen"
和"--kiosk"
。
但以上都没有对我有用,对我有用的唯一选择是"--window-size=width,height"
。
我不想硬编码宽度和高度的值,有什么办法可以设置全屏吗?
答案 0 :(得分:6)
问题在于无头模式意味着在没有屏幕的计算机上使用,所以即使你有屏幕,也无法确定屏幕的大小。唯一的方法是使用--window-size将该信息传递给浏览器。
无头模式下的默认窗口大小和显示大小在所有平台上均为800x600。
因此,最大化的窗口大小不适用于chrome-headless,如果需要,需要由用户明确设置。
答案 1 :(得分:0)
这对我有用driver.manage().window().setSize(new Dimension(1600,700));
答案 2 :(得分:0)
还有另一种选择。您可以执行以下操作来代替--start-maximized
选项:
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
答案 3 :(得分:0)
它对我有用,我用 6000x6000 的窗口大小对此进行了测试。 下面的答案有帮助。 link
c# 代码
var options = new ChromeOptions();
options.AddArgument("no-sandbox");
options.AddArgument("headless");
options.addArguments("window-size=1920,1080");
IWebDriver _driver= new ChromeDriver($@"path to chrome web driver folder", options, TimeSpan.FromSeconds(130))
;