• <bdo id='OGLjC'></bdo><ul id='OGLjC'></ul>
    <legend id='OGLjC'><style id='OGLjC'><dir id='OGLjC'><q id='OGLjC'></q></dir></style></legend>

  • <small id='OGLjC'></small><noframes id='OGLjC'>

    <i id='OGLjC'><tr id='OGLjC'><dt id='OGLjC'><q id='OGLjC'><span id='OGLjC'><b id='OGLjC'><form id='OGLjC'><ins id='OGLjC'></ins><ul id='OGLjC'></ul><sub id='OGLjC'></sub></form><legend id='OGLjC'></legend><bdo id='OGLjC'><pre id='OGLjC'><center id='OGLjC'></center></pre></bdo></b><th id='OGLjC'></th></span></q></dt></tr></i><div id='OGLjC'><tfoot id='OGLjC'></tfoot><dl id='OGLjC'><fieldset id='OGLjC'></fieldset></dl></div>
    1. <tfoot id='OGLjC'></tfoot>

        使用 ChromeDriver 和无头模式下载 Java、Selenium 文件

        时间:2023-09-28
            <tbody id='bOKth'></tbody>

          • <tfoot id='bOKth'></tfoot>

          • <small id='bOKth'></small><noframes id='bOKth'>

              • <bdo id='bOKth'></bdo><ul id='bOKth'></ul>
                <legend id='bOKth'><style id='bOKth'><dir id='bOKth'><q id='bOKth'></q></dir></style></legend>
                <i id='bOKth'><tr id='bOKth'><dt id='bOKth'><q id='bOKth'><span id='bOKth'><b id='bOKth'><form id='bOKth'><ins id='bOKth'></ins><ul id='bOKth'></ul><sub id='bOKth'></sub></form><legend id='bOKth'></legend><bdo id='bOKth'><pre id='bOKth'><center id='bOKth'></center></pre></bdo></b><th id='bOKth'></th></span></q></dt></tr></i><div id='bOKth'><tfoot id='bOKth'></tfoot><dl id='bOKth'><fieldset id='bOKth'></fieldset></dl></div>

                  本文介绍了使用 ChromeDriver 和无头模式下载 Java、Selenium 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  由于我仍然不清楚如何在 ChromeDriver - selenium [Java] 中使用 --headless 模式下载文件,请在此处添加如何执行此操作的示例,我尝试这样做(文件下载没有 --headless 选项也能正常工作):

                  As it is still not clear for me how to download files using --headless mode in ChromeDriver - selenium [Java], add here please the example of how to do so, I try to do it like that (the file downloading works properly without --headless option):

                  ChromeOptions lChromeOptions = new ChromeOptions();
                  HashMap<String, Object> lChromePrefs = new HashMap<String, Object>();
                  lChromePrefs.put("profile.default_content_settings.popups", 0);
                  lChromePrefs.put("download.default_directory", _PATH_TO_DOWNLOAD_DIR);
                  lChromePrefs.put("browser.set_download_behavior", "{ behavior: 'allow' , downloadPath: '"+_PATH_TO_DOWNLOAD_DIR+"'}");
                  
                  lChromeOptions.addArguments("--headless");
                  lChromeOptions.addArguments("--disable-gpu");
                  lChromeOptions.setExperimentalOption("prefs", lChromePrefs);
                  WebDriver lWebDriver = new ChromeDriver(lChromeOptions);
                  

                  据我所知,自 Chrome v60+ 起,通过设置 Browser.setDownloadBehaviour(true, _DIRECTORY) 应该可以在无头模式下下载文件,但我找不到 ChromeDriver 是否已经支持它的信息.只有我使用错误的 chrome 首选项作为参数

                  From what I know, downloading files in headless mode should be possible since Chrome v60+ by setting Browser.setDownloadBehaviour(true, _DIRECTORY) but I cant find the information whether ChromeDriver already supports it or it is just me using wrong chrome preferences as arguments

                  ChromeDriver 版本:2.34Selenium + WebDriver 版本:3.8.1

                  ChromeDriver version: 2.34 Selenium + WebDriver version: 3.8.1

                  推荐答案

                  在Java中这样使用:

                  In Java use like this :

                  System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
                           ChromeOptions options = new ChromeOptions();
                                  options.addArguments("--test-type");
                                  options.addArguments("--headless");
                                  options.addArguments("--disable-extensions"); //to disable browser extension popup
                  
                                  ChromeDriverService driverService = ChromeDriverService.createDefaultService();
                                  ChromeDriver driver = new ChromeDriver(driverService, options);
                  
                                  Map<String, Object> commandParams = new HashMap<>();
                                  commandParams.put("cmd", "Page.setDownloadBehavior");
                                  Map<String, String> params = new HashMap<>();
                                  params.put("behavior", "allow");
                                  params.put("downloadPath", "//home//vaibhav//Desktop");
                                  commandParams.put("params", params);
                                  ObjectMapper objectMapper = new ObjectMapper();
                                  HttpClient httpClient = HttpClientBuilder.create().build();
                                  String command = objectMapper.writeValueAsString(commandParams);
                                  String u = driverService.getUrl().toString() + "/session/" + driver.getSessionId() + "/chromium/send_command";
                                  HttpPost request = new HttpPost(u);
                                  request.addHeader("content-type", "application/json");
                                  request.setEntity(new StringEntity(command));
                                  httpClient.execute(request);
                          driver.get("http://www.seleniumhq.org/download/");
                          driver.findElement(By.linkText("32 bit Windows IE")).click();
                  

                  这篇关于使用 ChromeDriver 和无头模式下载 Java、Selenium 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:从渲染器接收消息超时 下一篇:Java 和 Selenium:页面对象中的静态方法

                  相关文章

                  最新文章

                  <legend id='HOC6I'><style id='HOC6I'><dir id='HOC6I'><q id='HOC6I'></q></dir></style></legend>

                  <small id='HOC6I'></small><noframes id='HOC6I'>

                1. <i id='HOC6I'><tr id='HOC6I'><dt id='HOC6I'><q id='HOC6I'><span id='HOC6I'><b id='HOC6I'><form id='HOC6I'><ins id='HOC6I'></ins><ul id='HOC6I'></ul><sub id='HOC6I'></sub></form><legend id='HOC6I'></legend><bdo id='HOC6I'><pre id='HOC6I'><center id='HOC6I'></center></pre></bdo></b><th id='HOC6I'></th></span></q></dt></tr></i><div id='HOC6I'><tfoot id='HOC6I'></tfoot><dl id='HOC6I'><fieldset id='HOC6I'></fieldset></dl></div>

                  <tfoot id='HOC6I'></tfoot>

                    • <bdo id='HOC6I'></bdo><ul id='HOC6I'></ul>