我有一个在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()失败,出现以下错误-
org.openqa.selenium.WebDriverException: Failed to find width field如果我尝试通过以下方式设置尺寸
driver.manage().window().setSize(new Dimension(1920, 1080));它给出了以下错误-
org.openqa.selenium.WebDriverException: setWindowRect我已经设置了geckodriver的路径,并用以下选项设置了FirefoxProfile。
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.download.dir", System.getProperty("user.dir") + "\\downloads");
profile.setPreference("browser.helperApps.neverAsk.openFile","text/csv,application/x-msexcel,application/excel,application/x-excel,"
+ "application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
profile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/x-msexcel,"
+ "application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.closeWhenDone", false);
profile.setPreference("browser.tabs.remote.autostart", false);
profile.setPreference("browser.tabs.remote.autostart.1", false);
profile.setPreference("browser.tabs.remote.autostart.2", false);
profile.setPreference("browser.tabs.remote.force-enable", "false");请告诉我如何在Firefox浏览器v52.3.0上最大化窗口。
非常感谢
发布于 2018-02-24 23:11:29
在使用Selenium 3.x时,将代码行释放到maximize,浏览器窗口是:
driver.manage().window().maximize();正如您在使用Firefox ESRv52.3.0时提到的,可能是Firefox浏览器的变体,并且浏览器窗口被初始化为maximized。因此,应该不需要调用driver.manage().window().maximize();或driver.manage().window().setSize(new Dimension(1920, 1080));。
仍然兼容开源软件的网页浏览器,例如Chrome、PhantomJS等,其中一些浏览器仍然不能被最大化打开。有几个Chromium问题建议使用ChromeOptions类来最大化网络浏览器,如下所示:
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);在这里你可以找到一些关于同一主题的讨论:
https://stackoverflow.com/questions/48963569
复制相似问题