Webdriverio ile this ve this kullanarak browsermob-proxy kullanmaya çalışıyordum. İyi çalışır, ancak har
dosya oluşturulmaz. Benhar dosya sorunu webdriverio ile browsermob-proxy sorunu
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(cb);
}
ama hala yerde hiçbir har
dosyası oluşturulur (yukarıdaki bağlantılardan) aşağıdaki kodu
fs.writeFile('/Users/abc/xyz/stuff.har', data, 'utf8');
için aşağıdaki satırı
fs.writeFileSync('stuff.har', data, 'utf8');
değiştirmeyi denedim. Burada ne eksik?
için
.end(cb);
dendoSeleniumStuff
işlevine küçük bir değişiklik Not? Şüphem şuydu, ancak programın HAR kuşağı/yazımı tamamlanmadan çıkması. –@AndrewRegan Teşekkürler. CbHAR() 've doSeleniumStuff() içine' console.log' eklemeye çalışıyorum. Konsolda, cbHAR'ın içinde göremiyorum. Yani kodu içinde görünüyor cbHAR() 'idam edilmez. Bu ve 'node.js' için genel olarak yeni ve daha fazla hata ayıklama emin değilim. Açıkça kodda eksik bir şey görüyor musunuz? – user1207289
Muhtemelen 'doSeleniumStuff', 'cbHAR' içinde çağrılır, siz bu çalışmayı söylediğin gibi, sadece geri çağırma yapılmaz mı? Kaynağa bakarak (https://github.com/zzo/browsermob-node/blob/310490298b565a431b93471e0d93096e00650cda/index.js#L51) gerçekten olması gerektiği gibi görünüyor ... –