0

以下に示すコードを使用して、Chrome 機能を使用してデフォルトのダウンロード パスを追加しようとしています。

const test = async () => {
  let builder = await new Builder().forBrowser("chrome");
  let chromeCapabilities = builder.getCapabilities();

  // chromeCapabilities.set("download.default_directory", downloadFolder);
  chromeCapabilities.merge({ "download.default_directory": downloadFolder });

  console.log(chromeCapabilities.get("download.default_directory"));

  // builder.setChromeOptions(chromeCapabilities);
  builder.withCapabilities(chromeCapabilities);
  // builder.setChromeOptions({ "download.default_directory": downloadFolder });
  // builder.withCapabilities({ "download.default_directory": downloadFolder });

  console.log(builder.getCapabilities().get("download.default_directory"));

  const driver = builder.build();
  await driver.get(tempoboxLoginUrl);

  const driverCapabilities = await (await driver).getCapabilities();
  console.log(await driverCapabilities.get("download.default_directory"));
};

test();

機能を追加したい新しい機能とマージした後、機能の値をログに記録すると、期待どおりに表示されます。ただし、ドライバーがビルドされると、機能の値をログに記録すると undefined が返されます。このコードをノードで実行したときの出力は次のとおりです。

> node Test.js

C:\Users\dummy\Desktop      << first log
C:\Users\dummy\Desktop      << second log

DevTools listening on ws://127.0.0.1:57980/devtools/browser/d53946e4-cedc-4809-a20c-b8b3416463cc

undefined                   << third log
4

1 に答える 1

0

それで、私は最終的にそれを理解しました。機能は非常に具体的な方法で追加する必要があります。ここで例を参照してください:

    const builder = new Builder().withCapabilities({
      browserName: "chrome",
      "goog:chromeOptions": {
        args: ["--start-maximized"],
        prefs: { "download.default_directory": downloadFolder },
      },
    });

    const driver = await builder.build();
于 2020-07-13T02:23:19.423 に答える