<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
      <title>Class SetVariableValueCommandSettings </title>
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta name="title" content="Class SetVariableValueCommandSettings ">
      
      <meta name="description" content="SetVariableValue">
      <link rel="icon" href="../images/favicon.ico">
      <link rel="stylesheet" href="../public/docfx.min.css">
      <link rel="stylesheet" href="../public/main.css">
      <meta name="docfx:navrel" content="../toc.html">
      <meta name="docfx:tocrel" content="toc.html">
      
      <meta name="docfx:rel" content="../">
      
      
      <meta name="docfx:docurl" content="https://github.com/SeleniumHQ/selenium/new/trunk/apiSpec/new?filename=OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings.md&amp;value=---%0Auid%3A%20OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings%0Asummary%3A%20&#39;*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax&#39;%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">
      <meta name="loc:inThisArticle" content="In this article">
      <meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
      <meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
      <meta name="loc:tocFilter" content="Filter by title">
      <meta name="loc:nextArticle" content="Next">
      <meta name="loc:prevArticle" content="Previous">
      <meta name="loc:themeLight" content="Light">
      <meta name="loc:themeDark" content="Dark">
      <meta name="loc:themeAuto" content="Auto">
      <meta name="loc:changeTheme" content="Change theme">
      <meta name="loc:copy" content="Copy">
      <meta name="loc:downloadPdf" content="Download PDF">

      <script type="module" src="./../public/docfx.min.js"></script>

      <script>
        const theme = localStorage.getItem('theme') || 'auto'
        document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
      </script>

  </head>

  <body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
    <header class="bg-body border-bottom">
      <nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
        <div class="container-xxl flex-nowrap">
          <a class="navbar-brand" href="../index.html">
            <img id="logo" class="svg" src="../images/logo.svg" alt="Selenium .NET API">
            Selenium .NET API
          </a>
          <button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
            <i class="bi bi-three-dots"></i>
          </button>
          <div class="collapse navbar-collapse" id="navpanel">
            <div id="navbar">
              <form class="search" role="search" id="search">
                <i class="bi bi-search"></i>
                <input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
              </form>
            </div>
          </div>
        </div>
      </nav>
    </header>

    <main class="container-xxl">
      <div class="toc-offcanvas">
        <div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
          <div class="offcanvas-header">
            <h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
            <button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
          </div>
          <div class="offcanvas-body">
            <nav class="toc" id="toc"></nav>
          </div>
        </div>
      </div>

      <div class="content">
        <div class="actionbar">
          <button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
            <i class="bi bi-list"></i>
          </button>

          <nav id="breadcrumb"></nav>
        </div>

        <article data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings">



  <h1 id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings" class="text-break">
Class SetVariableValueCommandSettings  <a class="header-action link-secondary" title="View source" href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/Debugger/SetVariableValueCommand.cs/#L12"><i class="bi bi-code-slash"></i></a>
  </h1>

  <div class="facts text-secondary">
    <dl><dt>Namespace</dt><dd><a class="xref" href="OpenQA.html">OpenQA</a>.<a class="xref" href="OpenQA.Selenium.html">Selenium</a>.<a class="xref" href="OpenQA.Selenium.DevTools.html">DevTools</a>.<a class="xref" href="OpenQA.Selenium.DevTools.V141.html">V141</a>.<a class="xref" href="OpenQA.Selenium.DevTools.V141.Debugger.html">Debugger</a></dd></dl>
  <dl><dt>Assembly</dt><dd>WebDriver.dll</dd></dl>
  </div>

  <div class="markdown summary"><p>SetVariableValue</p>
</div>
  <div class="markdown conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public sealed class SetVariableValueCommandSettings : ICommand</code></pre>
  </div>




  <dl class="typelist inheritance">
    <dt>Inheritance</dt>
    <dd>
      <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
      <div><span class="xref">SetVariableValueCommandSettings</span></div>
    </dd>
  </dl>

  <dl class="typelist implements">
    <dt>Implements</dt>
    <dd>
      <div><a class="xref" href="OpenQA.Selenium.DevTools.ICommand.html">ICommand</a></div>
    </dd>
  </dl>


  <dl class="typelist inheritedMembers">
    <dt>Inherited Members</dt>
    <dd>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
    </div>
  </dd></dl>






  <h2 class="section" id="properties">Properties
</h2>


  <a id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_CallFrameId_" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.CallFrameId*"></a>

  <h3 id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_CallFrameId" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.CallFrameId">
  CallFrameId
  <a class="header-action link-secondary" title="View source" href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/Debugger/SetVariableValueCommand.cs/#L46"><i class="bi bi-code-slash"></i></a>
  </h3>

  <div class="markdown level1 summary"><p>Gets or sets the callFrameId</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;callFrameId&quot;)]
public string CallFrameId { get; set; }</code></pre>
  </div>





  <h4 class="section">Property Value</h4>
  <dl class="parameters">
    <dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
    <dd></dd>
  </dl>








  <a id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_CommandName_" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.CommandName*"></a>

  <h3 id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_CommandName" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.CommandName">
  CommandName
  <a class="header-action link-secondary" title="View source" href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/Debugger/SetVariableValueCommand.cs/#L19"><i class="bi bi-code-slash"></i></a>
  </h3>

  <div class="markdown level1 summary"><p>Gets the name of the command.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonIgnore]
public string CommandName { get; }</code></pre>
  </div>





  <h4 class="section">Property Value</h4>
  <dl class="parameters">
    <dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
    <dd></dd>
  </dl>








  <a id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_NewValue_" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.NewValue*"></a>

  <h3 id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_NewValue" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.NewValue">
  NewValue
  <a class="header-action link-secondary" title="View source" href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/Debugger/SetVariableValueCommand.cs/#L39"><i class="bi bi-code-slash"></i></a>
  </h3>

  <div class="markdown level1 summary"><p>Gets or sets the newValue</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;newValue&quot;)]
public CallArgument NewValue { get; set; }</code></pre>
  </div>





  <h4 class="section">Property Value</h4>
  <dl class="parameters">
    <dt><a class="xref" href="OpenQA.Selenium.DevTools.V141.Runtime.CallArgument.html">CallArgument</a></dt>
    <dd></dd>
  </dl>








  <a id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_ScopeNumber_" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.ScopeNumber*"></a>

  <h3 id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_ScopeNumber" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.ScopeNumber">
  ScopeNumber
  <a class="header-action link-secondary" title="View source" href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/Debugger/SetVariableValueCommand.cs/#L25"><i class="bi bi-code-slash"></i></a>
  </h3>

  <div class="markdown level1 summary"><p>Gets or sets the scopeNumber</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;scopeNumber&quot;)]
public long ScopeNumber { get; set; }</code></pre>
  </div>





  <h4 class="section">Property Value</h4>
  <dl class="parameters">
    <dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
    <dd></dd>
  </dl>








  <a id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_VariableName_" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.VariableName*"></a>

  <h3 id="OpenQA_Selenium_DevTools_V141_Debugger_SetVariableValueCommandSettings_VariableName" data-uid="OpenQA.Selenium.DevTools.V141.Debugger.SetVariableValueCommandSettings.VariableName">
  VariableName
  <a class="header-action link-secondary" title="View source" href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/Debugger/SetVariableValueCommand.cs/#L32"><i class="bi bi-code-slash"></i></a>
  </h3>

  <div class="markdown level1 summary"><p>Gets or sets the variableName</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;variableName&quot;)]
public string VariableName { get; set; }</code></pre>
  </div>





  <h4 class="section">Property Value</h4>
  <dl class="parameters">
    <dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
    <dd></dd>
  </dl>









</article>

        <div class="contribution d-print-none">
          <a href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/Debugger/SetVariableValueCommand.cs/#L12" class="edit-link">Edit this page</a>
        </div>


      </div>

      <div class="affix">
        <nav id="affix"></nav>
      </div>
    </main>

    <div class="container-xxl search-results" id="search-results"></div>

    <footer class="border-top text-secondary">
      <div class="container-xxl">
        <div class="flex-fill">
          <span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
        </div>
      </div>
    </footer>
  </body>
</html>
