【问题标题】:How to Set File Download Directory Using Node.js Selenium Chrome Driver如何使用 Node.js Selenium Chrome 驱动程序设置文件下载目录
【发布时间】:2017-10-05 18:58:02
【问题描述】:

我正在尝试为我的 Node.js Selenium Chrome 驱动程序指定一个文件下载目录。这是我创建 Web 驱动程序的代码:

var downloadFolder = '/Users/andrew/Desktop';
var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .setChromeOptions(new chrome.Options()
        .setUserPreferences({'download.default_directory': downloadFolder}))
    .build();

我的实验显示我下载的文件仍然进入默认的/Users/andrew/Download 文件夹。我在这里做错了吗?顺便说一下,使用selenium-webdriver 作为我的模块。

【问题讨论】:

  • 您最终找到解决方案了吗?
  • 还没有,我认为这可能是一个错误
  • 实际上,您共享的代码对我有用,我使用的是 chrome v76,来自 npm: "chromedriver": "^76.0.0", "selenium-webdriver": "^4.0.0- alpha.4"

标签: javascript node.js google-chrome selenium webdriver


【解决方案1】:

对我来说这项工作.. 否则你可以进入 /node_modules/selenium-webdriver/chrome.js 检查功能。

let chrome = require('selenium-webdriver/chrome');
let { Builder } = require('selenium-webdriver');
var driver = new Builder()
.forBrowser('chrome')
.setChromeOptions(new chrome.Options().setUserPreferences(
    { "download.default_directory": task.download_dir }
))
.build();

【讨论】:

    【解决方案2】:

    在使用 Node.js 指定 Chrome 驱动程序的下载目录时,我也遇到了同样的问题。在网上做了一些研究,发现偏好可以在 Chrome 选项中使用,并且有一种特定的格式化方式。下面的代码对我有用。试试看,然后告诉我。

    var chrome = require('chromedriver');
    var chromeCapabilities = webdriver.Capabilities.chrome();
    const chromeOption = require('selenium-webdriver/chrome');
    //setting chrome options to start the browser fully maximized
    var chromeOptions = {
        'args': ['--test-type', '--start-maximized'],
        'prefs': {"download.default_directory":"/home/(user)/Downloads/Chrome_test"}
    };
    chromeCapabilities.set('chromeOptions', chromeOptions);
    var driver = new webdriver.Builder()
      .withCapabilities(chromeCapabilities)
      .build();
    

    【讨论】:

      【解决方案3】:

      我在使用 chromedriver 2.30 时遇到了类似的问题,如果您遇到这种情况,请尝试将其更新到(当前)最新的 2.33 版本

      【讨论】:

      • 我使用 npm 来安装我的 chromedriver。 "_from": "chromedriver@latest", "_id": "chromedriver@2.32.3"
      【解决方案4】:

      我尝试了以下两个代码,但文件没有保存到我指定的路径:

      var downloadFolder = 'E:/CannonGroup/DownloadedAPfile';
      var driver = new Builder()
          .forBrowser('chrome')
          .setChromeOptions(new chrome.Options()
              .setUserPreferences({'download.default_directory': downloadFolder}))
          .build();
      
      var chromeCapabilities = webdriver.Capabilities.chrome();
      var chromeOptions = {
          'prefs': {"download.default_directory":"C:/Raksha"}
      };
      chromeCapabilities.set('chromeOptions', chromeOptions);
      var driver = new webdriver.Builder()
            .withCapabilities(chromeCapabilities)
            .build();
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-22
        • 2020-07-04
        • 1970-01-01
        • 2018-10-09
        • 1970-01-01
        • 2016-05-21
        相关资源
        最近更新 更多