Я пытался использовать browserermob-прокси используя this и this с webdriverio. Он работает нормально, но theres нет har
файл создан. Я попытался изменить строку нижеhar file issue browserermob-proxy с webdriverio
fs.writeFileSync('stuff.har', data, 'utf8');
в
fs.writeFile('/Users/abc/xyz/stuff.har', data, 'utf8');
в коде ниже (из ссылки выше)
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);
}
, но до сих пор не har
файл на месте не генерируется. Что здесь отсутствует?
вы пробовали добавив console.log сообщение, чтобы проверить, что 'cbHAR()' никогда не вызывается? Мое подозрение заключается в том, что он работает, но программа выходит до завершения генерации/записи HAR. –
@AndrewRegan Спасибо. Я пытаюсь добавить 'console.log' внутри' cbHAR() 'и doSeleniumStuff(). Я не вижу на консоли, внутри внутри 'cbHAR'. Поэтому код внутри 'cbHAR()' не выполняется. Я новичок в этом и «node.js» вообще и не уверен, как отлаживать больше. Вы видите что-то явно отсутствующее в коде? – user1207289
Предположительно, 'doSeleniumStuff' действительно вызывается в' cbHAR', как вы говорите, это работает, это просто, что callback не вызван? Глядя на источник (https://github.com/zzo/browsermob-node/blob/310490298b565a431b93471e0d93096e00650cda/index.js#L51), он действительно выглядит так, как будто ... –