12

执行 UI 测试时,我收到一个错误,即 selenium 不支持 chromedriver 自动调整窗口大小,这导致测试失败。

有没有办法使用 chrome-options 来设置它headless-chrome

我尝试了以下方法,

ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");

此外,替换"--start-maximized""--start-fullscreen""--kiosk"

但以上都不适合我,唯一适合我的选择是"--window-size=width,height".

我不想硬编码宽度和高度的值,有什么方法可以设置全屏吗?

4

4 回答 4

14

问题是无头模式是在没有屏幕的电脑上使用的,所以即使你有屏幕,它也无法确定你的屏幕尺寸。唯一的方法是使用 --window-size 将该信息传递给浏览器。

在所有平台上,headless 模式下的默认窗口大小和显示大小均为 800x600。

因此最大化的窗口大小不适用于 chrome-headless,如果需要,需要用户明确设置。

于 2017-06-29T14:24:38.523 回答
1

这对我有用driver.manage().window().setSize(new Dimension(1600,700));

于 2019-01-18T09:07:10.900 回答
1

它对我有用,我已经用 6000x6000 的窗口大小对其进行了测试。下面的答案有帮助。关联

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))

;

于 2021-06-07T05:51:54.217 回答
0

还有另一种选择。而不是--start-maximized选项,您可以执行以下操作:

WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
于 2019-05-22T06:53:08.647 回答