SetSize()无法正常工作:Selenium + Java

时间:2019-04-22 07:13:40

标签: java selenium google-chrome selenium-chromedriver

我试图通过以下代码将浏览器的大小设置为(411,850),但仅针对Windows将其设置为(513,850)。

宽度是513而不是411,仅适用于Windows。

注意:我在我的代码中遵循此顺序

setSize(driver,411,850);
driver.get(url);
public void setSize(int width, int height) {
    try {
        System.out.println("Before setSize : "+driver.manage().window().getSize().width+","+driver.manage().window().getSize().height);
        System.out.println("calling setSize: w=" + width + ",h=" + height);
        Dimension d = new Dimension(width, height);
        driver.manage().window().setSize(d);
        System.out.println("After setSize : "+driver.manage().window().getSize().width+","+driver.manage().window().getSize().height);

    } 
    catch (Exception e)
    {
        System.out.println("ERROR: while setSize()");
    }
}

WINDOWS的输出:

Before setSize : 1050,840
calling setSize: w=411,h=850
After setSize : 513,850

MAC-OS的输出:

Before setSize : 1200,1005
calling setSize: w=411,h=850
After setSize : 411,850

2 个答案:

答案 0 :(得分:0)

之所以发生,是因为chrome具有最小的窗口大小限制。硒不能使窗口变小。如果您尝试在PC中手动调整Chrome的大小,您可能会发现它的缩放比例未低于特定限制。您将窗口的宽度和高度设置为低于chrome允许的限制。这就是为什么您得到不同结果的原因。

我认为这是根据屏幕尺寸计算得出的。这就是为什么每个人都可以调整到帖子中给定点的大小,并且无法重现问题的原因。

在我的PC中,(495,138)是最小限制。

答案 1 :(得分:0)

如果要使用硒检查较小的浏览器窗口大小(495,138)。您必须使用移动选项作为下面的代码。

phpunit.xml