Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置firefox配置文件量角器_Javascript_Selenium Webdriver_Geckodriver_Firefox Profile - Fatal编程技术网

Javascript 设置firefox配置文件量角器

Javascript 设置firefox配置文件量角器,javascript,selenium-webdriver,geckodriver,firefox-profile,Javascript,Selenium Webdriver,Geckodriver,Firefox Profile,我尝试使用以下代码: var makeFirefoxProfile = function (preferenceMap) { var deferred = q.defer(); var firefoxProfile = new FirefoxProfile(); for (var key in preferenceMap) { firefoxProfile.setPreference(key, preferenceMap[key]); } firefoxProfi

我尝试使用以下代码:

var makeFirefoxProfile = function (preferenceMap) {
  var deferred = q.defer();
  var firefoxProfile = new FirefoxProfile();

  for (var key in preferenceMap) {
    firefoxProfile.setPreference(key, preferenceMap[key]);
  }

  firefoxProfile.encoded(function (encodedProfile) {
    var capabilities = {
      browserName: "firefox",
      firefox_profile: encodedProfile
    };

    deferred.resolve(capabilities);
  });
  return deferred.promise;
};

  getMultiCapabilities: function () {
    return q.all([
      makeFirefoxProfile(
        {
          "browser.download.folderList": 2,
          "browser.download.dir": "D:/Automation",
          "browser.helperApps.alwaysAsk.force": false
        }
      )
    ]);
  },
但它显示出错误: 错误:TypeError:profile.getTemplateDir不是函数
我不知道如何修复它。

它看起来像是
selenium webdriver
(由
量角器使用)用于接受base64编码字符串
firefox\u配置文件
功能属性。但现在它需要一个
seleniumwebdriver/firefox
Profile
实例。下面是您解决问题的方法:

// make sure you have access to the selenium-webdriver firefox Profile class
var FirefoxProfile = require("selenium-webdriver/firefox").Profile;
//... 
// then change makeFirefoxProfile() function implementation with the following...

var makeFirefoxProfile = function (preferenceMap) {
  var profile = new FirefoxProfile();
  for (var key in preferenceMap) {
    profile.setPreference(key, preferenceMap[key]);
  }
  return q.resolve({
    browserName: "firefox",
    marionette: true,
    firefox_profile: profile
  });
};
我希望这有帮助


请注意,
firefox配置文件
软件包已不再需要。

您使用的是什么量角器、firefox、q、firefox配置文件版本?试图重现问题,但到目前为止对我有效(我有一个完全相同的
makeFirefoxProfile
函数)量角器5.0 Firefox 51.0.1(64位)“Firefox profile”:“^0.4.8”,你能为我提供支持吗?感谢您尝试过执行
webdriver manager update
,然后再次尝试运行量角器吗?您好,我想知道profile=caps.get(Capability.profile);是字符串,getTemplateDir(){return this.template_;}在类配置文件中????