<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
      <title>Class SetFileInputFilesCommandSettings </title>
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta name="title" content="Class SetFileInputFilesCommandSettings ">
      
      <meta name="description" content="SetFileInputFiles">
      <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_DOM_SetFileInputFilesCommandSettings.md&amp;value=---%0Auid%3A%20OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings%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.DOM.SetFileInputFilesCommandSettings">



  <h1 id="OpenQA_Selenium_DevTools_V141_DOM_SetFileInputFilesCommandSettings" data-uid="OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings" class="text-break">
Class SetFileInputFilesCommandSettings  <a class="header-action link-secondary" title="View source" href="https://github.com/SeleniumHQ/selenium/blob/trunk/bazel-bin/dotnet/src/webdriver/cdp/v141/DOM/SetFileInputFilesCommand.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.DOM.html">DOM</a></dd></dl>
  <dl><dt>Assembly</dt><dd>WebDriver.dll</dd></dl>
  </div>

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

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public sealed class SetFileInputFilesCommandSettings : 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">SetFileInputFilesCommandSettings</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_DOM_SetFileInputFilesCommandSettings_BackendNodeId_" data-uid="OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings.BackendNodeId*"></a>

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

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

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;backendNodeId&quot;)]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public long? BackendNodeId { 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_DOM_SetFileInputFilesCommandSettings_CommandName_" data-uid="OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings.CommandName*"></a>

  <h3 id="OpenQA_Selenium_DevTools_V141_DOM_SetFileInputFilesCommandSettings_CommandName" data-uid="OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings.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/DOM/SetFileInputFilesCommand.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_DOM_SetFileInputFilesCommandSettings_Files_" data-uid="OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings.Files*"></a>

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

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

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;files&quot;)]
public string[] Files { 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_DOM_SetFileInputFilesCommandSettings_NodeId_" data-uid="OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings.NodeId*"></a>

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

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

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;nodeId&quot;)]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public long? NodeId { 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_DOM_SetFileInputFilesCommandSettings_ObjectId_" data-uid="OpenQA.Selenium.DevTools.V141.DOM.SetFileInputFilesCommandSettings.ObjectId*"></a>

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

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

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[JsonPropertyName(&quot;objectId&quot;)]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string? ObjectId { 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/DOM/SetFileInputFilesCommand.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>
