Selenium Grid - Chrome 性能日志在网格节点中不可用

Selenium Grid - Chrome performance logs not available in grid nodes

我正在使用硒网格。每当我从节点(局域网中的 Web 驱动程序)请求性能日志时,都会发生错误。 WebDriverError: invalid argument: log type 'performance' not found.

适用于本地网络驱动程序。唯一的区别是 .usingServer('http://192.168.1.113:5566/wd/hub')

const { Builder, logging, Capabilities } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

const prefs = new logging.Preferences();
prefs.setLevel(logging.Type.PERFORMANCE, logging.Level.ALL);

opts = new chrome.Options();
opts.setLoggingPrefs(prefs);

var isLAN = true;

if (isLAN) {
    const driver = await new Builder()
        .withCapabilities(opts.toCapabilities())
        .usingServer('http://192.168.1.113:5566/wd/hub')
        .build();
} else {
    const driver = await new Builder()
        .withCapabilities(opts.toCapabilities())
        .forBrowser('chrome')
        .build();
}

driver.get('http://whosebug.com/');
driver.manage().logs().get('performance').then(function(entries) {
  console.log(entries);
});
driver.quit();

添加以下代码解决了这个问题。

var caps = Capabilities.chrome();
caps.set('goog:loggingPrefs', {'performance':'ALL'})

最终代码

const { Builder, Capabilities } = require('selenium-webdriver');

var caps = Capabilities.chrome();
caps.set('goog:loggingPrefs', {'performance':'ALL'})

var isLAN = true;
if (isLAN) {
    const driver = new Builder()
        .usingServer('http://192.168.1.104:5566/wd/hub')
        .withCapabilities(caps)
        .build();

    driver.get('http://whosebug.com/');
    driver.manage().logs().get('performance').then(function (entries) {
        console.log(entries);
    });
    driver.quit();
} else {
    const driver = new Builder()
        .forBrowser('chrome')
        .withCapabilities(caps)
        .build();

    driver.get('http://whosebug.com/');
    driver.manage().logs().get('performance').then(function (entries) {
        console.log(entries);
    });
    driver.quit();
}