有没有人有关于如何配置 BrowserMobProxy 的正确示例?与 WebDriverIO ?这样我就可以捕获网络流量。我以前用它工作过 WebDriverJS ,这实际上是 WebDriverIO 的弃用版本.
最佳答案
您可以使用下面的代码来做到这一点。确保您的 browsermob 代理
和 selenium 服务器
正在运行。然后将下面的代码复制粘贴到 test.js
文件中,并将其放入 webdriverio
安装文件夹中。从 cmd
转到该文件夹并运行 node test.js
。 stuff.har
应该在test.js
所在的位置生成。
var Proxy = require('browsermob-proxy').Proxy
, webdriverio = require("./node_modules/webdriverio/")
, fs = require('fs')
, proxy = new Proxy()
;
proxy.cbHAR('search.yahoo.com', doSeleniumStuff, function(err, data) {
if (err) {
console.error('ERR: ' + err);
} else {
fs.writeFileSync('stuff.har', data, 'utf8');
}
});
function doSeleniumStuff(proxy, cb) {
var browser = webdriverio.remote({
host: 'localhost'
, port: 4444
, desiredCapabilities: { browserName: 'firefox', seleniumProtocol: 'WebDriver', proxy: { httpProxy: proxy } }
});
browser
.init()
.url("http://search.yahoo.com")
.setValue("#yschsp", "javascript")
.submitForm("#sf")
.end().then(cb);
}
关于javascript - 使用 BrowserMobProxy 配置 WebDriverIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36203022/