2

我目前正在尝试将 Browsermob 与 WebdriverIO 一起使用,我在另一个答案中找到了此代码,但是当我运行它时,firefox 浏览器出现了,我在控制台窗口中看到了活动,我正在运行 selenium 和 browsermob-proxy,但确实如此不要去 search.yahoo.com 页面。它只是坐在一个空白页面上,测试结束(这说明它通过了,但那是另一回事)我在 Mac 上运行最新的 WebdriverIO 和 Browsermob 这是代码

var Proxy = require('browsermob-proxy').Proxy
    , webdriverio = require('webdriverio')
    , fs = require('fs')
    , proxy = new Proxy()
;

proxy.cbHAR('search.yahoo.com', doWebio, function(err, data) {
        if (err) {
            console.error('ERR: ' + err);
        } else {
            fs.writeFileSync('stuff.har', data, 'utf8');
        }
});

function doWebio(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);        

}
4

2 回答 2

1

你试过用铬吗?也许它会起作用。为此:

  • 将 chromedriver 从这里添加到您的 /usr/bin
  • 对上面的代码进行如下更改(注意代理中的大写 P)
  • 像往常一样启动 selenium 服务器和 browserMob 并运行测试

    desiredCapabilities: { browserName: 'chrome', seleniumProtocol: 'WebDriver', Proxy: { httpProxy: proxy } }

于 2016-05-03T18:21:54.263 回答
0

对于那些使用 FireFox 的人,您现在需要安装 GeckoDriver 才能将 FireFox 与 Selenium 一起使用。 https://github.com/mozilla/geckodriver/releases

此外,BrowserMob 代理自 2016 年以来一直没有发布。BrowserUp 代理是一个积极维护的替代品https://github.com/browserup/browserup-proxy,支持 Java 11、积极开发、brotli 支持、安全修复等。

于 2019-07-07T19:35:01.180 回答