我有一个在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上最大化窗口。
非常感谢
答案 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);
在这里你可以找到几个相同的讨论: