目前我正在使用以下代码。
var co = require('co');
var WebDriver = require('selenium-webdriver');
var SeleniumServer = require('selenium-webdriver/remote').SeleniumServer;
co(function *() { // async
var server = new SeleniumServer('/path/to/selenium', {
port: 4444,
jvmArgs: ['-Dwebdriver.firefox.bin=path/to/firefox'] // Firefox binary specification
});
yield server.start(); // await
var driver = new WebDriver
.Builder()
.usingServer(server.address())
.withCapabilities(WebDriver.Capabilities.firefox())
.build();
});
现在我需要添加Firebug扩展以将网络流量提取为*.har
文件。我用谷歌搜索this:
var firefox = require('selenium-webdriver/firefox');
var profile = new firefox.Profile();
profile.addExtension('/path/to/firebug.xpi');
profile.setPreference('extensions.firebug.showChromeErrors', true);
var options = new firefox.Options().setProfile(profile);
var driver = new firefox.Driver(options);
要看到这一点,似乎可以使用以下方法:
firefox.Options().setProfile()
firefox.Options().setBinary()
但是,firefox.Options()
总是不返回任何内容......
发生了什么事?
答案 0 :(得分:1)
根据source code,Options()
函数调用应该不返回任何内容:
var Options = function() {
/** @private {Profile} */
this.profile_ = null;
/** @private {Binary} */
this.binary_ = null;
/** @private {webdriver.logging.Preferences} */
this.logPrefs_ = null;
/** @private {webdriver.ProxyConfig} */
this.proxy_ = null;
};
您需要使用new
初始化Options
对象:
var options = new firefox.Options();
console.log(options);
可提供多种方法,包括setProfile()
,setBinary()
等。