Log

This section contains the APIs related to logging.

Console logs

Listen to the console.log events and register callbacks to process the event.

Selenium v4.8

CompletableFuture<ConsoleLogEntry>future=newCompletableFuture<>();logInspector.onConsoleEntry(future::complete);driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");driver.findElement(By.id("consoleLog")).click();ConsoleLogEntrylogEntry=future.get(5,TimeUnit.SECONDS);
 const inspector = await LogInspector(driver)
 await inspector.onConsoleEntry(function (log) {
 logEntry = log
 })
 await driver.get('https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html')
 await driver.findElement({id: 'consoleLog'}).click()
 assert.equal(logEntry.text, 'Hello, world!')
 assert.equal(logEntry.realm, null)
 assert.equal(logEntry.type, 'console')
 assert.equal(logEntry.level, 'info')
 assert.equal(logEntry.method, 'log')
 assert.equal(logEntry.stackTrace, null)
 assert.equal(logEntry.args.length, 1)

JavaScript exceptions

Listen to the JS Exceptions and register callbacks to process the exception details.

logInspector.onJavaScriptException(future::complete);driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");driver.findElement(By.id("jsException")).click();JavascriptLogEntrylogEntry=future.get(5,TimeUnit.SECONDS);
 const inspector = await LogInspector(driver)
 await inspector.onJavascriptException(function (log) {
 logEntry = log
 })
 await driver.get('https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html')
 await driver.findElement({id: 'jsException'}).click()
 assert.equal(logEntry.text, 'Error: Not working')
 assert.equal(logEntry.type, 'javascript')
 assert.equal(logEntry.level, 'error')

Listen to JS Logs

Listen to all JS logs at all levels and register callbacks to process the log.

Selenium v4.8

logInspector.onJavaScriptLog(future::complete);driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");driver.findElement(By.id("jsException")).click();JavascriptLogEntrylogEntry=future.get(5,TimeUnit.SECONDS);