Skip to main content

List Browser Instances

Lists all currently open browser instances, providing detailed information about each instance including its status, current URL, and creation time.

Syntax

const instances = await codebolt.listBrowserInstances();

Parameters

None

Return Value

Returns a promise that resolves to an array of BrowserInstanceInfo objects:

[
{
instanceId: "browser-1234567890-abc123",
isActive: true,
isReady: true,
currentUrl: "https://example.com",
createdAt: "2023-12-07T10:30:00.000Z",
title: "Example Domain"
},
{
instanceId: "browser-1234567890-def456",
isActive: false,
isReady: true,
currentUrl: "https://google.com",
createdAt: "2023-12-07T10:25:00.000Z",
title: "Google"
}
]

BrowserInstanceInfo Properties

  • instanceId (string): Unique identifier for the browser instance
  • isActive (boolean): Whether this is the currently active instance
  • isReady (boolean): Whether the instance is ready for operations
  • currentUrl (string, optional): Current URL of the browser instance
  • createdAt (string): ISO timestamp when the instance was created
  • title (string, optional): Page title of the current page

Examples

List All Instances

import codebolt from '@codebolt/codeboltjs';

// Get all browser instances
const instances = await codebolt.listBrowserInstances();

console.log(`Found ${instances.length} browser instances:`);
instances.forEach(instance => {
console.log(`- ${instance.instanceId}`);
console.log(` Active: ${instance.isActive}`);
console.log(` URL: ${instance.currentUrl || 'N/A'}`);
console.log(` Created: ${instance.createdAt}`);
});

Check Active Instance

const instances = await codebolt.listBrowserInstances();
const activeInstance = instances.find(inst => inst.isActive);

if (activeInstance) {
console.log(`Active instance: ${activeInstance.instanceId}`);
console.log(`Current URL: ${activeInstance.currentUrl}`);
} else {
console.log('No active instance found');
}

Monitor Instance Status

async function monitorBrowserInstances() {
const instances = await codebolt.listBrowserInstances();

const readyInstances = instances.filter(inst => inst.isReady);
const activeInstances = instances.filter(inst => inst.isActive);

console.log(`Total instances: ${instances.length}`);
console.log(`Ready instances: ${readyInstances.length}`);
console.log(`Active instances: ${activeInstances.length}`);

return instances;
}

// Monitor every 5 seconds
setInterval(monitorBrowserInstances, 5000);

Use Cases

Instance Management

Monitor all browser instances and their status for resource management.

Debugging

Check which instances are active and their current state during development.

Resource Cleanup

Identify inactive or abandoned instances for cleanup.

Multi-Tasking

Track multiple concurrent browser automation tasks.

Notes

  • No Parameters: This function doesn't require any parameters
  • Real-time Status: Returns current status of all instances
  • Lightweight: Efficient operation that doesn't affect browser performance
  • Safe: Read-only operation that doesn't modify any instances