gpt4 book ai didi

javascript - 使用 Selenium(不带 Firefox 扩展)从 Firefox 43 检索控制台日志

转载 作者:行者123 更新时间:2023-12-02 04:04:51 25 4
gpt4 key购买 nike

是否可以使用 Selenium 和 Firefox 43 检索浏览器 console.log?如果是这样,怎么办?

这是我的设置:

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
LoggingPreferences logs = new LoggingPreferences();
logs.enable(LogType.BROWSER, Level.ALL);
logs.enable(LogType.DRIVER, Level.ALL);
logs.enable(LogType.CLIENT, Level.ALL);
logs.enable(LogType.PERFORMANCE, Level.ALL);
logs.enable(LogType.PROFILER, Level.ALL);
logs.enable(LogType.SERVER, Level.ALL);
capabilities.setCapability(CapabilityType.LOGGING_PREFS, logs);

FirefoxBinary binary = new FirefoxBinary(new File(...));
FirefoxProfile profile = new FirefoxProfile();
WebDriver driver = new FirefoxDriver(binary, profile, capabilities);

//...doing things with the driver ...

driver.manage().logs().get(LogType.BROWSER) // already tried every LogType

我从中得到的唯一输出是这样的:

1450878255029   addons.xpi  DEBUG   startup
...
Error in parsing value for 'display'. Declaration dropped.

但不是浏览器 JavaScript 控制台日志中写入的输出。

我已经尝试了几种 FF 配置文件设置,例如:

profile.setPreference("extensions.sdk.console.logLevel", "all");
profile.setPreference("webdriver.log.file",tempfile.getAbsolutePath());
profile.setPreference("webdriver.firefox.logfile", othertempfile.getAbsolutePath());
profile.setPreference("webdriver.log.driver", "ALL");

到目前为止没有任何帮助。在 Chrome 中,这可以完美地工作。

Selenium 版本:2.48.2火狐版本:43.0.2

最佳答案

我也遇到了同样的问题。我只得到了有关 css、安全性、网络等的所有日志噪音,但没有得到应用程序通过 console.log 实际记录的内容。我正在使用与您相同的 webdriver 和 firefox 版本。对于其他浏览器来说这不是问题。

我最终通过自定义日志记录扩展了我的客户端代码。用有线协议(protocol)术语来说:

  • 使用execute将如下内容放入客户端
window.recordedLogs = [];

console.log = function (message) {

if (typeof message === 'object') {
message = JSON.stringify(message);
}

window.recordedLogs.push(message);
};
  • 使用execute检索window.recordedLogs

警告:上面的代码非常简单,它没有处理传递给 log 方法的多条消息,也没有处理其他 log 方法,如 info、error 等。

但是,它可以成为有线协议(protocol) log 方法的良好多浏览器兼容替代方案。

关于javascript - 使用 Selenium(不带 Firefox 扩展)从 Firefox 43 检索控制台日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34437465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com