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_;}在类配置文件中????