簡體   English   中英

在節點 Selenium 中構建 WebDriver 后,配置的 ChromeDriver 功能丟失

[英]Configured ChromeDriver capabilities are lost after building the WebDriver in Node Selenium

我正在嘗試使用下面顯示的代碼添加具有 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();

將功能與我要添加的新功能合並后,我可以記錄功能的值並按預期顯示。 但是,一旦構建了驅動程序,記錄功能的值將返回未定義。 以下是使用 Node 運行此代碼時的 output:

> 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

所以我最終想通了。 必須以非常具體的方式添加這些功能。 請參見此處的示例:

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

    const driver = await builder.build();

暫無
暫無

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

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