Package Torello.Browser.BrowserAPI
Class Target
- java.lang.Object
-
- Torello.Browser.BrowserAPI.Target
-
public class Target extends java.lang.Object
This class was built using the Chrome Remote Dev-Tools A.P.I., which is specified by two JSON-RPC Files. These files were obtained from the Chrome Dev Tools Protocol Git Hub Page, which has a "Tip of Tree" (the latest) API-Specification Page Here: JSON-RPC Protocol Specification.
These files were converted into this Java-Browser (CDP) Library. The intention is to have them function in a similar fasion to the Node.js Tool known as 'Puppeteer', Microsoft's 'Playwright' and of course the Main-Stay 'Selenium.' The Java-HTML JAR Library merely implements the Java Types & Commands defined by Google's DevTools Protocol.
🧠 View the Google CDP API:
Supports additional targets discovery and allows to attach to them.
The top-level description and explanation for this class (this comment, at the top this Java-Doc Page) is repeated, verbatim, across all of the domain classes which comprise Google's CDP API.This class is intended to be used with a Browser Instance
These methods have been tested, to some degree, using Google Chrome. In order to use this class you must start a web-browser instance and make a connection to the browser using aRemote Debugging Port. Google-Corporation is the developer of this API, but any browser which accepts a Remote Debug Port Connection over Web-Sockets.
Google-Chrome was used during the development process of the classes in this particular package. Lately, it has been asserted Microsoft has switched to using the Chrome Browser-Engine for its Microsoft Edge Internal Code-Base. Therefore, there may some functionality available when running the methods in this class with Microsoft-Edge.
Check whether the your Web-Browser will allow itself to be driven by theWeb-Socket RDP-Port 9223. See the examples available in packageTorello.Browserto undertand how to build aPageConnandBrowserConnWeb-Socket Connection, and how to build aWebSocketSenderinstance in order to execute the methods in this class.
Web-Socket & JSON API:
Every one of the methods that reside in this class are designed to do nothing more than:- Accept Parameters from the User, and "Marshall Them" into a Valid JSON-Request
- Transmit the Marshalled Request-JSON to a Headless Web-Browser over a Web-Socket Connection
- Receive BOTH that Command-Results AND any Browser Event-Firings from the Web-Socket
- Parse JSON Method-Results and Browser-Event Firings, and Subsequently Convert them to Standard Java-Types
- Report these Method-Results and Browser-Events to the User via a User-Registered, Event-Listener (Events) or a Promise Object (Command Responses / Results)
Unlike the bulk of the Java HTML JAR Library, there is very little native Java-Code, and very little testing that may be done on any of the classes & methods in this package. The code inside these classes does nothing more than marshall-and-unmarshall Java-Types into Json-Requests (and vice-versa). The Java-Script & Browser modules inside of a Google-Chrome instance are, theoretically, handling these requests, and returning their results (or events) over the Web-Socket Connection.
It has been asserted (by Google Chrome Developers) that some of these methods are only "partially working" or "experimental".
Asking Chat-GPT for Help:
The LLM otherwise known as "Chat-GPT" does, indeed, have an expert level of knowledge about the "Remote DevTools Protocol". The API that theChrome DevTools Protocl (CDP)exports is extremely well understood by the LLM, and generally I have found that Chat-GPT understands (by 2 or 3 orders of magnitude) better what my Auto-Generated JSON-Wrappers can do in controlling a Web-Browser than I could ever possibly hope to understand.
Though not available today, there will soon be an automatically downloadable Token-Stream (AI Embeddings) BUTTON available on my Java-Doc Pages that should hopefully make it extremely easy to post my code-base, RAG Style, to Chat-GPT and other LLM's when 'interogating' them. Presently, because my "Get Token Stream Button" does not exist yet on any of my pages, what you can do is copy-and-paste any Method-Signature from any one of these pages and then ask Chat-GPT to explain what that Browser or Java-Script Function is actually doing. It is very likely to give you some pretty neat answers.
I have found that every single one of the Domains, Types & Events which are offered by the CDP Protocol (though not documented very well by Google), are perfectly understood by the A.I. LLM - literally to the point where it does know (much better than I ever could) what my own code base actually does!
Try it out, it's a lot of fun. Note that this package and these classes were originally developed solely to be able to execute the Java-Script that a browser executes when visiting a Web-Site. Complete HTML-Page Content can be scraped (using the HTML Data-Scraping Tools in Java-HTML) off of Web-Sites that have dynamic / Java-Script Generated Content.
Conspicuous Boxed-Types Usage:
You may notice that there are many methods that have parameters which accept, for instance, anInteger, instead of a primitiveint. Just to remind the readiner, in Java Programs aBoxed Typeis a standard Java-Primitive which has been converted into an Object-Reference. The use of Boxed-Types in this code base is an easy-and-fast-way to allow for the concept of "Optional Parameters" or "Optional Field Value."
Whenever you see a method that accepts anInteger, the reason for this Parameter-Type choice is actually to allow a user to pass 'null' to it. This is a simple way to ELIDE passing any value at all to parameters which Google-Chrome would otherwise assert are "Optional." Whenever you pass 'null' to a Boxed-Types in this class, the Json-Processor will simply eliminate that Object-Property from the command altogether; and the browser will simply not receive any value for that parameter when that command is invoked.
The Java Language Specification does not have an easy or well defined means of accepting optional method parameters; so Boxed-Types and 'null' are utilized here. Note that 'null' may be passed to any Command Method-Parameter that is listed asOptionalon the Java-Doc Page description for that parameter.
Hi-Lited Source-Code:This File's Source Code:
- View Here: Torello/Browser/BrowserAPI/Target.java
- Open New Browser-Tab: Torello/Browser/BrowserAPI/Target.java
File Size: 57,754 Bytes Line Count: 1,394 '\n' Characters Found
Helper: Command Invocation Helpers
- View Here: Target$$Commands.java
- Open New Browser-Tab: Target$$Commands.java
File Size: 7,634 Bytes Line Count: 177 '\n' Characters Found
Stateless Class:This class neither contains any program-state, nor can it be instantiated. The@StaticFunctionalAnnotation may also be called 'The Spaghetti Report'.Static-Functionalclasses are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's@StatelessAnnotation.
- 1 Constructor(s), 1 declared private, zero-argument constructor
- 19 Method(s), 19 declared static
- 4 Field(s), 4 declared static, 4 declared final
-
-
Nested Class Summary
Type Nested Classes: Types / Classes that Are Used & Exported by this Domain Modifier and Type Class Description static classTarget.FilterEntryA filter used by target query/discovery/auto-attach operations.static classTarget.RemoteLocation[No Description Provided by Google]static classTarget.TargetInfo[No Description Provided by Google]Event Nested Classes: Browser Events, as Java Inner Classes, Which are Fired by this Domain Modifier and Type Class Description static classTarget.attachedToTargetIssued when attached to target because of auto-attach orattachToTargetcommand.static classTarget.detachedFromTargetIssued when detached from target for any reason (includingdetachFromTargetcommand).static classTarget.receivedMessageFromTargetNotifies about a new protocol message received from the session (as reported inattachedToTargetevent).static classTarget.targetCrashedIssued when a target has crashed.static classTarget.targetCreatedIssued when a possible inspection target is created.static classTarget.targetDestroyedIssued when a target is destroyed.static classTarget.targetInfoChangedIssued when some information about a target has changed.
-
Field Summary
Enumerated Strings: Like Java 'enum' Types, but Converted to Read-Only String-Lists Modifier and Type Field Description static ReadOnlyList<String>WindowStateThe state of the target window.Eliminated Types: Removed CDP Types which Have Been Re-Mapped to Basic Java String Constants Modifier and Type Field Description static StringSessionIDUnique identifier of attached debugging session.static StringTargetFilterThe entries in TargetFilter are matched sequentially against targets and the first entry that matches determines if the target is included or not, depending on the value ofexcludefield in the entry.static StringTargetID[No Description Provided by Google]
-
Method Summary
Target Domain Commands Script Returns Modifier and Type Method Voidstatic Script<>activateTarget(String targetId)
Activates (focuses) the target.Stringstatic Script<>attachToBrowserTarget()
Attaches to the browser target, only uses flat sessionId mode.Stringstatic Script<>attachToTarget(String targetId, Boolean flatten)
Attaches to the target with given id.Voidstatic Script<>autoAttachRelated(String targetId, boolean waitForDebuggerOnStart, Target.FilterEntry[] filter)
Adds the specified target to the list of targets that will be monitored for any related target creation (such as child frames, child workers and new versions of service worker) and reported throughattachedToTarget.Booleanstatic Script<>closeTarget(String targetId)
Closes the target.Stringstatic Script<>createBrowserContext(Boolean disposeOnDetach, String proxyServer, String proxyBypassList, String[] originsWithUniversalNetworkAccess)
Creates a new empty BrowserContext.Stringstatic Script<>createTarget(String url, Integer left, Integer top, Integer width, Integer height, String windowState, String browserContextId, Boolean enableBeginFrameControl, Boolean newWindow, Boolean background, Boolean forTab, Boolean hidden)
Creates a new page.Voidstatic Script<>detachFromTarget(String sessionId, String targetId)
Detaches session with given id.Voidstatic Script<>disposeBrowserContext(String browserContextId)
Deletes a BrowserContext.Voidstatic Script<>exposeDevToolsProtocol(String targetId, String bindingName, Boolean inheritPermissions)
Inject object to the target's main frame that provides a communication channel with browser target.String[]static Script<>getBrowserContexts()
Returns all browser contexts created withTarget.createBrowserContextmethod.Target.TargetInfostatic Script<>getTargetInfo(String targetId)
Returns information about a target.Target.TargetInfo[]static Script<>getTargets(Target.FilterEntry[] filter)
Retrieves a list of available targets.Stringstatic Script<>openDevTools(String targetId)
Opens a DevTools window for the target.Voidstatic Script<>sendMessageToTarget(String message, String sessionId, String targetId)
Sends protocol message over session with given id.Voidstatic Script<>setAutoAttach(boolean autoAttach, boolean waitForDebuggerOnStart, Boolean flatten, Target.FilterEntry[] filter)
Controls whether to automatically attach to new targets which are considered to be directly related to this one (for example, iframes or workers).Voidstatic Script<>setDiscoverTargets(boolean discover, Target.FilterEntry[] filter)
Controls whether to discover available targets and notify viatargetCreated/targetInfoChanged/targetDestroyedevents.Voidstatic Script<>setRemoteLocations(Target.RemoteLocation[] locations)
Enables target discovery for the specified locations, whensetDiscoverTargetswas set totrue.Target Domain CommandBuilder Methods Modifier and Type Method Description static CommandBuilder
<String>createTarget()Creates a buider for conveniently assigning parameters to this method.
-
-
-
Field Detail
-
SessionID
public static final java.lang.String SessionID
Unique identifier of attached debugging session.
The TypeSessionIDhas been eliminated, because it is a direct mapping to a basic Java-Type; it has no additional fields, or other distinguishing properties. Instead, this CDP defined type has been relegated to a simpleStringConstant, for documentation & reference purposes only.
The code which is generated which employs this type replaces its use with the Standard Java-Type:String
Eliminated Type- See Also:
- Constant Field Values
-
TargetFilter
public static final java.lang.String TargetFilter
The entries in TargetFilter are matched sequentially against targets and the first entry that matches determines if the target is included or not, depending on the value ofexcludefield in the entry. If filter is not specified, the one assumed is [{type: "browser", exclude: true}, {type: "tab", exclude: true}, {}] (i.e. include everything butbrowserandtab).
EXPERIMENTAL
The TypeTargetFilterhas been eliminated, because it is a direct mapping to a basic Java-Type; it has no additional fields, or other distinguishing properties. Instead, this CDP defined type has been relegated to a simpleStringConstant, for documentation & reference purposes only.
The code which is generated which employs this type replaces its use with the Standard Java-Type:FilterEntry[]
Eliminated Type- See Also:
- Constant Field Values
-
TargetID
public static final java.lang.String TargetID
[No Description Provided by Google]
The TypeTargetIDhas been eliminated, because it is a direct mapping to a basic Java-Type; it has no additional fields, or other distinguishing properties. Instead, this CDP defined type has been relegated to a simpleStringConstant, for documentation & reference purposes only.
The code which is generated which employs this type replaces its use with the Standard Java-Type:String
Eliminated Type- See Also:
- Constant Field Values
-
WindowState
public static final ReadOnlyList<java.lang.String> WindowState
The state of the target window.
EXPERIMENTAL
String-Enumeration Type
-
-
Method Detail
-
activateTarget
public static Script<java.lang.Void> activateTarget (java.lang.String targetId)
Activates (focuses) the target.- Parameters:
targetId- -- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
attachToBrowserTarget
public static Script<java.lang.String> attachToBrowserTarget()
Attaches to the browser target, only uses flat sessionId mode.
EXPERIMENTAL- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (sessionId)
Id assigned to the session.
-
attachToTarget
public static Script<java.lang.String> attachToTarget (java.lang.String targetId, java.lang.Boolean flatten)
Attaches to the target with given id.- Parameters:
targetId- -flatten- Enables "flat" access to the session via specifying sessionId attribute in the commands. We plan to make this the default, deprecate non-flattened mode, and eventually retire it. See crbug.com/991325.
OPTIONAL- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (sessionId)
Id assigned to the session.
-
autoAttachRelated
public static Script<java.lang.Void> autoAttachRelated (java.lang.String targetId, boolean waitForDebuggerOnStart, Target.FilterEntry[] filter)
Adds the specified target to the list of targets that will be monitored for any related target creation (such as child frames, child workers and new versions of service worker) and reported throughattachedToTarget. The specified target is also auto-attached. This cancels the effect of any previoussetAutoAttachand is also cancelled by subsequentsetAutoAttach. Only available at the Browser target.
EXPERIMENTAL- Parameters:
targetId- -waitForDebuggerOnStart- Whether to pause new targets when attaching to them. UseRunTime.runIfWaitingForDebuggerto run paused targets.filter- Only targets matching filter will be attached.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
closeTarget
public static Script<java.lang.Boolean> closeTarget (java.lang.String targetId)
Closes the target. If the target is a page that gets closed too.- Parameters:
targetId- -- Returns:
- An instance of
Script<Boolean>
This script may be executed, usingScript.exec, and afterwards, aPromise<Boolean>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:Boolean (success)
Always set to true. If an error occurs, the response indicates protocol error.
-
createBrowserContext
public static Script<java.lang.String> createBrowserContext (java.lang.Boolean disposeOnDetach, java.lang.String proxyServer, java.lang.String proxyBypassList, java.lang.String[] originsWithUniversalNetworkAccess)
Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than one.- Parameters:
disposeOnDetach- If specified, disposes this context when debugging session disconnects.
OPTIONALEXPERIMENTALproxyServer- Proxy server, similar to the one passed to --proxy-server
OPTIONALEXPERIMENTALproxyBypassList- Proxy bypass list, similar to the one passed to --proxy-bypass-list
OPTIONALEXPERIMENTALoriginsWithUniversalNetworkAccess- An optional list of origins to grant unlimited cross-origin access to. Parts of the URL other than those constituting origin are ignored.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (browserContextId)
The id of the context created.
-
createTarget
public static Script<java.lang.String> createTarget (java.lang.String url, java.lang.Integer left, java.lang.Integer top, java.lang.Integer width, java.lang.Integer height, java.lang.String windowState, java.lang.String browserContextId, java.lang.Boolean enableBeginFrameControl, java.lang.Boolean newWindow, java.lang.Boolean background, java.lang.Boolean forTab, java.lang.Boolean hidden)
Creates a new page.👍 Because of the sheer number of input parameters to this method, there is a aCommandBuildervariant to this method which may be invoked instead.
Please View:createTarget()- Parameters:
url- The initial URL the page will be navigated to. An empty string indicates about:blank.left- Frame left origin in DIP (requires newWindow to be true or headless shell).
OPTIONALEXPERIMENTALtop- Frame top origin in DIP (requires newWindow to be true or headless shell).
OPTIONALEXPERIMENTALwidth- Frame width in DIP (requires newWindow to be true or headless shell).
OPTIONALheight- Frame height in DIP (requires newWindow to be true or headless shell).
OPTIONALwindowState- Frame window state (requires newWindow to be true or headless shell). Default is normal.
OPTIONALbrowserContextId- The browser context to create the page in.
OPTIONALEXPERIMENTALenableBeginFrameControl- Whether BeginFrames for this target will be controlled via DevTools (headless shell only, not supported on MacOS yet, false by default).
OPTIONALEXPERIMENTALnewWindow- Whether to create a new Window or Tab (false by default, not supported by headless shell).
OPTIONALbackground- Whether to create the target in background or foreground (false by default, not supported by headless shell).
OPTIONALforTab- Whether to create the target of type "tab".
OPTIONALEXPERIMENTALhidden- Whether to create a hidden target. The hidden target is observable via protocol, but not present in the tab UI strip. Cannot be created withforTab: true,newWindow: trueorbackground: false. The life-time of the tab is limited to the life-time of the session.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (targetId)
The id of the page opened.
-
detachFromTarget
public static Script<java.lang.Void> detachFromTarget (java.lang.String sessionId, java.lang.String targetId)
Detaches session with given id.- Parameters:
sessionId- Session to detach.
OPTIONALtargetId- Deprecated.
OPTIONALDEPRECATED- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
disposeBrowserContext
public static Script<java.lang.Void> disposeBrowserContext (java.lang.String browserContextId)
Deletes a BrowserContext. All the belonging pages will be closed without calling their beforeunload hooks.- Parameters:
browserContextId- -- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
exposeDevToolsProtocol
public static Script<java.lang.Void> exposeDevToolsProtocol (java.lang.String targetId, java.lang.String bindingName, java.lang.Boolean inheritPermissions)
Inject object to the target's main frame that provides a communication channel with browser target. Injected object will be available aswindow[bindingName]. The object has the following API: -binding.send(json)- a method to send messages over the remote debugging protocol -binding.onmessage = json => handleMessage(json)- a callback that will be called for the protocol notifications and command responses.
EXPERIMENTAL- Parameters:
targetId- -bindingName- Binding name, 'cdp' if not specified.
OPTIONALinheritPermissions- If true, inherits the current root session's permissions (default: false).
OPTIONAL- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
getBrowserContexts
public static Script<java.lang.String[]> getBrowserContexts()
Returns all browser contexts created withTarget.createBrowserContextmethod.- Returns:
- An instance of
Script<String[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<String[]>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String[] (browserContextIds)
An array of browser context ids.
-
getTargetInfo
public static Script<Target.TargetInfo> getTargetInfo (java.lang.String targetId)
Returns information about a target.
EXPERIMENTAL- Parameters:
targetId- -
OPTIONAL- Returns:
- An instance of
Script<Target.TargetInfo>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedTarget.TargetInfo>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:Target.TargetInfo(targetInfo)
-
getTargets
public static Script<Target.TargetInfo[]> getTargets (Target.FilterEntry[] filter)
Retrieves a list of available targets.- Parameters:
filter- Only targets matching filter will be reported. If filter is not specified and target discovery is currently enabled, a filter used for target discovery is used for consistency.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<Target.TargetInfo[]>
This script may be executed, usingScript.exec, and afterwards, aPromise<will be returnedTarget.TargetInfo[]>
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.
-
openDevTools
public static Script<java.lang.String> openDevTools (java.lang.String targetId)
Opens a DevTools window for the target.
EXPERIMENTAL- Parameters:
targetId- This can be the page or tab target ID.- Returns:
- An instance of
Script<String>
This script may be executed, usingScript.exec, and afterwards, aPromise<String>will be returned
Finally, thePromisemay be awaited, usingPromise.await(), and the returned result of this Browser Function may be retrieved.This Browser Function'sPromisereturns:String (targetId)
The targetId of DevTools page target.
-
sendMessageToTarget
public static Script<java.lang.Void> sendMessageToTarget (java.lang.String message, java.lang.String sessionId, java.lang.String targetId)
Sends protocol message over session with given id. Consider using flat mode instead; see commands attachToTarget, setAutoAttach, and crbug.com/991325.
DEPRECATED- Parameters:
message- -sessionId- Identifier of the session.
OPTIONALtargetId- Deprecated.
OPTIONALDEPRECATED- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
setAutoAttach
public static Script<java.lang.Void> setAutoAttach (boolean autoAttach, boolean waitForDebuggerOnStart, java.lang.Boolean flatten, Target.FilterEntry[] filter)
Controls whether to automatically attach to new targets which are considered to be directly related to this one (for example, iframes or workers). When turned on, attaches to all existing related targets as well. When turned off, automatically detaches from all currently attached targets. This also clears all targets added byautoAttachRelatedfrom the list of targets to watch for creation of related targets. You might want to call this recursively for auto-attached targets to attach to all available targets.- Parameters:
autoAttach- Whether to auto-attach to related targets.waitForDebuggerOnStart- Whether to pause new targets when attaching to them. UseRunTime.runIfWaitingForDebuggerto run paused targets.flatten- Enables "flat" access to the session via specifying sessionId attribute in the commands. We plan to make this the default, deprecate non-flattened mode, and eventually retire it. See crbug.com/991325.
OPTIONALEXPERIMENTALfilter- Only targets matching filter will be attached.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
setDiscoverTargets
public static Script<java.lang.Void> setDiscoverTargets (boolean discover, Target.FilterEntry[] filter)
Controls whether to discover available targets and notify viatargetCreated/targetInfoChanged/targetDestroyedevents.- Parameters:
discover- Whether to discover available targets.filter- Only targets matching filter will be attached. Ifdiscoveris false,filtermust be omitted or empty.
OPTIONALEXPERIMENTAL- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
setRemoteLocations
public static Script<java.lang.Void> setRemoteLocations (Target.RemoteLocation[] locations)
Enables target discovery for the specified locations, whensetDiscoverTargetswas set totrue.
EXPERIMENTAL- Parameters:
locations- List of remote locations.- Returns:
- An instance of
Script<Void>
ThisScriptinstance must be executed before the browser receives the invocation-request.This Browser-Function does not have a return-value. You may choose to await thePromise<Void>to ensure that the Browser Function has run to completion.
-
createTarget
public static CommandBuilder<java.lang.String> createTarget()
Creates a buider for conveniently assigning parameters to this method.Note that the original method expects 12 parameters, and can be cumbersome.- Returns:
CommandBuilderinstance, for assigning parameter values, one by one.- See Also:
createTarget(java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean)
-
-