or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

tessl/maven-org-seleniumhq-selenium--selenium-devtools-v129

Chrome DevTools Protocol version 129 bindings for Selenium WebDriver.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/org.seleniumhq.selenium/selenium-devtools-v129@4.27.x

To install, run

npx @tessl/cli install tessl/maven-org-seleniumhq-selenium--selenium-devtools-v129@4.27.0

0

# Selenium DevTools v129

1

2

Selenium DevTools v129 provides Java bindings for Chrome DevTools Protocol version 129, enabling advanced browser automation capabilities beyond standard WebDriver functionality. It includes domain-specific APIs for network monitoring and manipulation, JavaScript execution and debugging, console log capture, and target management across multiple browser contexts.

3

4

## Package Information

5

6

- **Package Name**: org.seleniumhq.selenium:selenium-devtools-v129

7

- **Package Type**: Maven

8

- **Language**: Java

9

- **Installation**:

10

```xml

11

<dependency>

12

<groupId>org.seleniumhq.selenium</groupId>

13

<artifactId>selenium-devtools-v129</artifactId>

14

<version>4.27.0</version>

15

</dependency>

16

```

17

18

## Core Imports

19

20

```java

21

import org.openqa.selenium.devtools.v129.v129Domains;

22

import org.openqa.selenium.devtools.v129.v129CdpInfo;

23

import org.openqa.selenium.devtools.DevTools;

24

```

25

26

## Basic Usage

27

28

```java

29

import org.openqa.selenium.chrome.ChromeDriver;

30

import org.openqa.selenium.devtools.DevTools;

31

import org.openqa.selenium.devtools.v129.v129Domains;

32

33

// Create Chrome driver and get DevTools instance

34

ChromeDriver driver = new ChromeDriver();

35

DevTools devTools = driver.getDevTools();

36

devTools.createSession();

37

38

// Create v129 domains instance for accessing all capabilities

39

v129Domains domains = new v129Domains(devTools);

40

41

// Use domain-specific functionality

42

devTools.send(domains.log().enable());

43

44

// Set up network interception

45

domains.network().prepareToInterceptTraffic();

46

47

// Listen for console events

48

domains.events().addConsoleListener(event -> {

49

System.out.println("Console: " + event.getType() + " - " + event.getMessages());

50

});

51

```

52

53

## Architecture

54

55

Selenium DevTools v129 is built around the Chrome DevTools Protocol architecture:

56

57

- **Service Discovery**: `v129CdpInfo` provides version identification for automatic service binding

58

- **Domain Factory**: `v129Domains` creates and manages all domain-specific implementations

59

- **Protocol Domains**: Each domain (Network, Events, Javascript, Log, Target) provides specialized capabilities

60

- **Type Safety**: Full Java type safety with protocol-generated classes and interfaces

61

- **DevTools Integration**: Direct integration with Selenium's DevTools infrastructure

62

63

## Capabilities

64

65

### DevTools Domains Factory

66

67

Central factory providing access to all v129 DevTools protocol domains.

68

69

```java { .api }

70

public class v129Domains implements Domains {

71

public v129Domains(DevTools devtools);

72

public Events<?, ?> events();

73

public Javascript<?, ?> javascript();

74

public Network<?, ?> network();

75

public Target target();

76

public Log log();

77

}

78

```

79

80

[DevTools Domains](./domains.md)

81

82

### Network Operations

83

84

Network domain providing request/response interception, authentication handling, and traffic monitoring.

85

86

```java { .api }

87

public class v129Network extends Network<AuthRequired, RequestPaused> {

88

public v129Network(DevTools devTools);

89

public Event<RequestPaused> requestPausedEvent();

90

public Either<HttpRequest, HttpResponse> createSeMessages(RequestPaused pausedReq);

91

}

92

```

93

94

[Network Operations](./network.md)

95

96

### Event Handling

97

98

Events domain for capturing console messages and JavaScript exceptions from the browser.

99

100

```java { .api }

101

public class v129Events extends Events<ConsoleAPICalled, ExceptionThrown> {

102

public v129Events(DevTools devtools);

103

}

104

```

105

106

[Event Handling](./events.md)

107

108

### JavaScript Execution

109

110

JavaScript domain providing script injection, binding management, and code execution capabilities.

111

112

```java { .api }

113

public class v129Javascript extends Javascript<ScriptIdentifier, BindingCalled> {

114

public v129Javascript(DevTools devtools);

115

}

116

```

117

118

[JavaScript Execution](./javascript.md)

119

120

### Logging

121

122

Log domain for browser log management and console message capture.

123

124

```java { .api }

125

public class v129Log implements org.openqa.selenium.devtools.idealized.log.Log {

126

public Command<Void> enable();

127

public Command<Void> clear();

128

public Event<LogEntry> entryAdded();

129

}

130

```

131

132

[Logging](./logging.md)

133

134

### Target Management

135

136

Target domain for managing browser tabs, contexts, and debugging sessions.

137

138

```java { .api }

139

public class v129Target implements org.openqa.selenium.devtools.idealized.target.Target {

140

public Command<List<TargetInfo>> getTargets();

141

public Command<SessionID> attachToTarget(TargetID targetId);

142

public Command<Void> detachFromTarget(Optional<SessionID> sessionId, Optional<TargetID> targetId);

143

}

144

```

145

146

[Target Management](./target.md)

147

148

## Types

149

150

### Core DevTools Types

151

152

```java { .api }

153

// From Selenium DevTools core

154

import org.openqa.selenium.devtools.DevTools;

155

import org.openqa.selenium.devtools.Command;

156

import org.openqa.selenium.devtools.Event;

157

158

// Protocol-specific types

159

import org.openqa.selenium.devtools.v129.runtime.model.ConsoleAPICalled;

160

import org.openqa.selenium.devtools.v129.runtime.model.ExceptionThrown;

161

import org.openqa.selenium.devtools.v129.fetch.model.AuthRequired;

162

import org.openqa.selenium.devtools.v129.fetch.model.RequestPaused;

163

```

164

165

### Service Provider

166

167

```java { .api }

168

@AutoService(CdpInfo.class)

169

public class v129CdpInfo extends CdpInfo {

170

public v129CdpInfo();

171

}

172

```