Table of Contents

Class SetScriptingEnabledCommandParameters

Namespace
WebDriverBiDi.Emulation
Assembly
WebDriverBiDi.dll

Provides parameters for the emulation.setScriptingEnabled command.

public class SetScriptingEnabledCommandParameters : CommandParameters<SetScriptingEnabledCommandResult>
Inheritance
SetScriptingEnabledCommandParameters
Inherited Members

Remarks

Unlike most emulation commands, this one has no global form: the specification requires the command to name a scope, so a call that leaves both Contexts and UserContexts empty is rejected with InvalidArgument. Add at least one browsing context or user context before executing the command. emulation.setNetworkConditions, by contrast, does accept an unscoped call, and applies the network conditions it was given as the session-wide default, applied to every context that has no per-context or per-user-context override; this command has no such default.

Constructors

SetScriptingEnabledCommandParameters()

Initializes a new instance of the SetScriptingEnabledCommandParameters class.

public SetScriptingEnabledCommandParameters()

Properties

Contexts

Gets the browsing contexts for which to set whether scripting is enabled.

[JsonIgnore]
public List<string> Contexts { get; }

Property Value

List<string>

Remarks

The protocol requires this property, when present, to contain at least one entry. An empty list therefore means "not specified": the property is omitted from the JSON payload entirely, and an empty array is never sent. Add entries to the list to scope the command.

The two scopes are mutually exclusive: a command that names both browsing contexts and user contexts is rejected by the remote end with an invalid argument error. Scope the command one way or the other.

IsScriptingEnabled

Gets or sets a value indicating whether scripting is enabled or disabled for the specified contexts. Note carefully that only emulation of disabled JavaScript is supported.

[JsonPropertyName("enabled")]
public bool? IsScriptingEnabled { get; set; }

Property Value

bool?

Remarks

The protocol only supports disabling scripting: the valid values are false to disable scripting, or null to clear the override. Sending true is not defined by the protocol, and the remote end is expected to reject it.

MethodName

Gets the method name of the command.

[JsonIgnore]
public override string MethodName { get; }

Property Value

string

ResetScriptingEnabled

Gets a pre-initialized instance of SetScriptingEnabledCommandParameters with the IsScriptingEnabled property set to null to clear any existing scripting enabled override. Returns a new instance on each access to allow for modification of the properties without affecting other uses. Functionally equivalent to using the parameterless constructor, but provided as a named property to make the intent of clearing the override more explicit in code that uses this property.

public static SetScriptingEnabledCommandParameters ResetScriptingEnabled { get; }

Property Value

SetScriptingEnabledCommandParameters

UserContexts

Gets the user contexts for which to set whether scripting is enabled.

[JsonIgnore]
public List<string> UserContexts { get; }

Property Value

List<string>

Remarks

The protocol requires this property, when present, to contain at least one entry. An empty list therefore means "not specified": the property is omitted from the JSON payload entirely, and an empty array is never sent. Add entries to the list to scope the command.

The two scopes are mutually exclusive: a command that names both browsing contexts and user contexts is rejected by the remote end with an invalid argument error. Scope the command one way or the other.