将selenium节点作为Windows服务运行时,如何设置Chrome浏览器窗口大小?

时间:2018-01-25 20:42:10

标签: selenium-webdriver selenium-chromedriver selenium-grid

我正在尝试在亚马逊Windows AMI上启动Selenium节点(Chrome浏览器)作为运行测试的窗口,但浏览器大小没有达到最大化。

尝试了所有可能的解决方案,但它无效。

How to set the browser window size when using `google-chrome --headless`?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

代替aDriver.manage().window().setSize(new Dimension(width, height));并尝试aDriver.manage().window().setRect({ width: 400, height: 700, x: 0, y: 0 });

这应该对您有用。

public static void setMaximize(boolean maximize) {
if (maximize) {
    if (getHeadless()) {
        aDriver.manage().window().setRect({ width: 1600, height: 900, x: 0, y: 0 });
    } else if (getDevice() == null) {
        try {
            aDriver.manage().window().maximize();
        } catch (WebDriverException e) {
            String name = getDriver();
            if (name == null) {
                System.out.println("Browser has not been set");
            } else {
                System.out.println(name + " does not support maximize");
            }
        }
    }
}

答案 1 :(得分:-1)

为什么不使用内置的硒?

    aDriver.manage().window().setSize(new Dimension(width, height));

像冠军一样工作。我已经将它用于FireFox,Chrome(甚至是无头)和Edge。

添加完整的最大化代码

public static void setMaximize(boolean maximize) {
    if (maximize) {
        if (getHeadless()) {
            aDriver.manage().window().setSize(new Dimension(1600, 900));
        } else if (getDevice() == null) {
            try {
                aDriver.manage().window().maximize();
            } catch (WebDriverException e) {
                String name = getDriver();
                if (name == null) {
                    System.out.println("Browser has not been set");
                } else {
                    System.out.println(name + " does not support maximize");
                }
            }
        }
    }
}