我正在尝试为在 selenoid 图像上启动的 chrome 浏览器下载文件。使用我如下配置的 chromeoptions,浏览器会在图像上打开下载文件对话框,我的测试用例失败。我正在尝试找到一种在没有下载对话框的情况下以 selenoid 图像下载文件的方法。
我所有的 chromeoptions 在基于 Windows 的机器上都可以正常工作。
下面是我的 chromeoptions
String path = "home" + File.separator + "selenium" + File.separator + "Downloads" + File.separator;
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + File.separator + "lib" + File.separator + "chromedriver.exe");
System.setProperty("webdriver.chrome.verboseLogging", "true");
System.setProperty(ChromeDriverService.CHROME_DRIVER_LOG_PROPERTY,
System.getProperty("user.dir") + File.separator + "log" + File.separator + "chrome.log");
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 2);
chromePrefs.put("profile.default_content_settings.javascript", 1);
chromePrefs.put("download.default_directory", path);
chromePrefs.put("credentials_enable_service",false);
chromePrefs.put("download.prompt_for_download", false);
chromePrefs.put("safebrowsing.enabled", true);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", new String[] { "enable-automation" });
options.setExperimentalOption("forceDevToolsScreenshot", true);
options.setExperimentalOption("useAutomationExtension", false);
options.setExperimentalOption("detach", false);
options.setExperimentalOption("prefs", chromePrefs);
options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
options.setCapability("enableVNC", true);
// options.setCapability("screenResolution", "1280x1224x24");
options.addArguments("--disable-infobars");
options.addArguments("--test-type");
options.addArguments("--disable-extensions");
options.addArguments("--ignore-certificate-errors");
options.addArguments("--enable-javascript");
options.addArguments("--start-maximized", "--window-size=1360,1020");
预期 - 文件应下载到指定路径。发生了什么 - 脚本停止并出现文件下载对话框