簡體   English   中英

如何使用 Node.js Selenium Chrome 驅動程序設置文件下載目錄

[英]How to Set File Download Directory Using Node.js Selenium Chrome Driver

我正在嘗試為我的 Node.js Selenium Chrome 驅動程序指定一個文件下載目錄。 這是我創建網絡驅動程序的代碼:

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作為我的模塊。

對我來說這項工作..否則你可以進入 /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();

我在使用 Node.js 為 Chrome 驅動程序指定下載目錄時也遇到了同樣的問題。 在網上做了一些研究,發現可以在 Chrome 選項中使用 prefs,並且有一種特定的格式化方式。 下面的代碼對我有用。 試試看,讓我知道。

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

我在使用 chromedriver 2.30 時遇到了類似的問題,如果您是這種情況,請嘗試將其更新到(當前)最新的 2.33 版本

我嘗試使用以下兩個代碼,但文件沒有保存到我指定的路徑:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM