下载各种类型的文件与阻止选项不显示对话框在Chrome与Selenium Java

5w9g7ksd  于 2022-12-25  发布在  Go
关注(0)|答案(1)|浏览(135)

我需要自动下载文件到指定目录的帮助。组织阻止了禁用弹出窗口的功能,chromeoptions不起作用。如何用Selenium处理这种情况?或者我需要使用robot类来代替?我吓坏了,它阻止了我。

浏览器初始化代码:

System.setProperty("webdriver.chrome.driver", dataConfiguration.path + "\\resources\\chromedriver.exe");

    ChromeOptions options = new ChromeOptions();

    options.addArguments("--disable-site-isolation-trials");
    options.addArguments("--disable-web-security");
    options.addArguments("--user-data-dir=chrome-unsafe-profile");
    options = setDownloadsPath();
    options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
    options.setCapability(ChromeOptions.CAPABILITY, setDownloadsPath());

    remoteWebDriver = new ChromeDriver(options);
               
    return remoteWebDriver;
}

public static ChromeOptions setDownloadsPath() {
    path = System.getProperty("user.dir");
    downloadsPath = path + "\\resources\\fileDownload";
    HashMap<String, Object> chromePrefs = new HashMap<String, Object>();

    chromePrefs.put("download.default_directory", downloadsPath);
    chromePrefs.put("download.prompt_for_download", false);
    chromePrefs.put("download.directory_upgrade", true);
    
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("prefs", chromePrefs);
    // options.addArguments("--test-type");
    return options;
}

我在尝试自动化这个过程。

qxgroojn

qxgroojn1#

与所有可能的Chrome选项/ prop 分享完整列表,也许你会发现smth else:

  1. https://peter.sh/experiments/chromium-command-line-switches/
  2. https://chromium.googlesource.com/chromium/src/+/master/chrome/common/pref_names.cc
  3. https://chromium.googlesource.com/chromium/src/+/master/chrome/common/chrome_switches.cc
    是的,你可以试试Robot类,但是要知道它在无头模式下不起作用。但是如果你觉得可以的话,Robot可能会有帮助。

相关问题