Firefox ESR v52.3.0上的Window.maximize()失败

时间:2018-02-24 13:50:03

标签: selenium firefox selenium-webdriver webdriver maximize-window

我有一个在Selenium 2.45.0中创建的回归包,我最近升级到Selenium(seleniump-java 3.4.0和selenium server 3.7.1)。目前我的系统上有Firefox ESR v52.3.0。升级到selenium 3.4.0后,window.maximize()失败并出现以下错误 -

JavascriptSerializer

如果我尝试按

设置尺寸
import logging


TRACE = 5
"""more detail than debug"""

logging.basicConfig()
logging.addLevelName(TRACE,"TRACE")
logger = logging.getLogger('')
logger.debug("n")
logger.setLevel(logging.DEBUG)
logger.debug("y1")
logger.log(TRACE,"n")
logger.setLevel(TRACE)
logger.log(TRACE,"y2")

它给了我以下错误 -

org.openqa.selenium.WebDriverException: Failed to find width field

我已设置geckodriver的路径,并使用以下选项设置FirefoxProfile,

driver.manage().window().setSize(new Dimension(1920, 1080));

请告诉我如何在Firefox浏览器v52.3.0上最大化窗口。

非常感谢

1 个答案:

答案 0 :(得分:0)

使用 Selenium 3.x 时,将代码行发布到最大化 浏览器窗口

driver.manage().window().maximize();

正如您提到的那样使用 Firefox ESR v52.3.0 可能 Firefox浏览器变种确实会在浏览器窗口 最大化的情况下进行初始化即可。因此,无需额外要求拨打driver.manage().window().maximize();driver.manage().window().setSize(new Dimension(1920, 1080));

Web浏览器仍然符合 OSS 标准,例如 Chrome PhantomJS 等等,其中一些仍然没有打开最大化。一些 Chromium 问题建议使用 ChromeOptions 类来最大化 Web浏览器作为替代方案如下:

ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions"); 
WebDriver driver = new ChromeDriver(options);

在这里你可以找到几个相同的讨论: