【问题标题】:Setting download directory in webdriver using JS使用JS在webdriver中设置下载目录
【发布时间】:2020-06-04 08:54:06
【问题描述】:

我想使用 JS (TypeScript) 更改 chrome 的默认下载目录。尝试设置这样的选项:

让选项 = webdriver.ChromeOptions;

options.add_argument("download.default_directory=C:/Downloads")

让 driver = webdriver.chrome(options);

但是,选项设置为未定义,并且 webdriver 上不存在 ChromeOptions。

这里是完整的代码:

let webdriver = require('selenium-webdriver');
let chrome = require('selenium-webdriver/chrome');
let chromedriver = require('chromedriver');

chrome.setDefaultService(new chrome.ServiceBuilder(chromedriver.path).build());

// let driver = new webdriver.Builder()
//     .withCapabilities(webdriver.Capabilities.chrome())
//     .build();
let options = webdriver.ChromeOptions;

options.add_argument("download.default_directory=C:/Downloads")

let driver = webdriver.chrome(options);

let figma = 'https://www.figma.com/';
driver.get (figma).then(
    backup
);

function backup() {
    driver.sleep(3000);
    driver.quit();
}

【问题讨论】:

    标签: javascript selenium-webdriver selenium-chromedriver


    【解决方案1】:

    根据this 问题,chromeOptions 键无法按预期工作。使用 goog:chromeOptions 设置 chrome 功能的选项:

    const chromeCapabilities = webdriver.Capabilities.chrome();
    
    chromeCapabilities.set('goog:chromeOptions', {
        'args': ['disable-infobars'],
        'prefs': {
          'download': {
            'default_directory': '/home/{user}/Downloads/Chrome_test',
            'prompt_for_download': 'false'
          }
        }
    });
    
    const driver = new webdriver.Builder()
      .withCapabilities(chromeCapabilities)
      .build();
    

    【讨论】:

      【解决方案2】:

      试试下面的代码,让我知道:

      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();
      

      【讨论】:

      • 在由 webdriver 控制的窗口中,我转到设置和保存位置为默认值:/home/elena/'Загрузки' 这是我更改的路径:'prefs': {"download.default_directory" :"/home/elena/'Загрузки'/Chrome_test"}
      猜你喜欢
      • 2016-05-28
      • 2017-08-12
      • 2013-09-02
      • 2021-09-03
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多