Chrome DevTools Protocol version 129 bindings for Selenium WebDriver.
—
The v129Domains class serves as the central factory for accessing all Chrome DevTools Protocol v129 domain implementations. It manages the lifecycle and dependencies of all domain-specific APIs.
Creates and manages instances of all v129 DevTools protocol domains.
/**
* Central factory providing access to all v129 DevTools protocol domains
* @param devtools - DevTools instance for protocol communication
*/
public class v129Domains implements Domains {
public v129Domains(DevTools devtools);
/** Returns the Events domain for console and exception handling */
public Events<?, ?> events();
/** Returns the Javascript domain for script execution and binding */
public Javascript<?, ?> javascript();
/** Returns the Network domain for request/response interception */
public Network<?, ?> network();
/** Returns the Target domain for tab and context management */
public Target target();
/** Returns the Log domain for browser log access */
public Log log();
}Usage Examples:
import org.openqa.selenium.devtools.DevTools;
import org.openqa.selenium.devtools.v129.v129Domains;
// Create domains factory
DevTools devTools = driver.getDevTools();
devTools.createSession();
v129Domains domains = new v129Domains(devTools);
// Access specific domains
var networkDomain = domains.network();
var logDomain = domains.log();
var eventsDomain = domains.events();
// Use domain capabilities
devTools.send(logDomain.enable());
devTools.send(networkDomain.enableNetworkCaching());Provides version and factory information for automatic service discovery.
/**
* Service provider implementation for CDP version 129
* Automatically registered via @AutoService annotation
*/
@AutoService(CdpInfo.class)
public class v129CdpInfo extends CdpInfo {
/** Initializes with version 129 and v129Domains factory */
public v129CdpInfo();
}Usage Examples:
// Service is automatically discovered and registered
// No direct instantiation required - used internally by Selenium
// To verify version support:
import org.openqa.selenium.devtools.CdpInfo;
import java.util.ServiceLoader;
ServiceLoader<CdpInfo> loader = ServiceLoader.load(CdpInfo.class);
for (CdpInfo info : loader) {
if (info instanceof v129CdpInfo) {
// v129 support is available
break;
}
}// From idealized DevTools interfaces
interface Domains {
Events<?, ?> events();
Javascript<?, ?> javascript();
Network<?, ?> network();
Target target();
Log log();
}
// Service provider base
abstract class CdpInfo {
protected CdpInfo(int majorVersion, Supplier<Domains> domainsSupplier);
}// Required imports for domains usage
import org.openqa.selenium.devtools.DevTools;
import org.openqa.selenium.devtools.idealized.Domains;
import org.openqa.selenium.devtools.idealized.Events;
import org.openqa.selenium.devtools.idealized.Javascript;
import org.openqa.selenium.devtools.idealized.Network;
import org.openqa.selenium.devtools.idealized.log.Log;
import org.openqa.selenium.devtools.idealized.target.Target;Install with Tessl CLI
npx tessl i tessl/maven-org-seleniumhq-selenium--selenium-devtools-v129