title: Python beautiful soup form input parsing
body: <p>My goal is to grab a list of all input names and values. To pair them up and submit the form. The names and values are randomised.</p>
  
  <pre><code>from bs4 import BeautifulSoup # parsing
  
  html = """
  &lt;html&gt;
  &lt;head id="Head1"&gt;&lt;title&gt;Title Page&lt;/title&gt;&lt;/head&gt;
  &lt;body&gt;
      &lt;form id="formS" action="login.asp?dx=" method="post"&gt;
  
      &lt;input type=hidden name=qw1NWJOJi/E8IyqHSHA== value='gDcZHY+nV' &gt;
      &lt;input type=hidden name=sfqwWJOJi/E8DFDHSHB== value='kgDcZHY+n' &gt;
      &lt;input type=hidden name=Jsfqw1NdddfDDSDKKSL== value='rNg4pUhnV' &gt;
      &lt;/form&gt;
  
  &lt;/body&gt;
  
  &lt;/html&gt;
  """
  
  html_proc = BeautifulSoup(html)
  </code></pre>
  
  <p>This bit works fine:    </p>
  
  <pre><code>print html_proc.find("input", value=True)["value"]
  &gt; gDcZHY+nV
  </code></pre>
  
  <p>However the following statements don't work or don't work as hoped:</p>
  
  <pre><code>print html_proc.find("input", name=True)["name"]
  &gt; TypeError: find() got multiple values for keyword argument 'name'
  
  print html_proc.findAll("input", value=True, attrs={'value'})
  &gt; []  
  
  print html_proc.findAll('input', value=True)
  &gt; &lt;input name="qw1NWJOJi/E8IyqHSHA==" type="hidden" value="gDcZHY+nV"&gt;
  &gt; &lt;input name="sfqwWJOJi/E8DFDHSHB==" type="hidden" value="kgDcZHY+n"&gt;
  &gt; &lt;input name="Jsfqw1NdddfDDSDKKSL==" type="hidden" value="rNg4pUhnV"&gt;
  &gt; &lt;/input&gt;&lt;/input&gt;&lt;/input&gt;, &lt;input name="sfqwWJOJi/E8DFDHSHB==" type="hidden" 
  &gt; value="kgDcZHY+n"&gt;
  &gt; &lt;input name="Jsfqw1NdddfDDSDKKSL==" type="hidden" value="rNg4pUhnV"&gt;
  &gt; &lt;/input&gt;&lt;/input&gt;, &lt;input name="Jsfqw1NdddfDDSDKKSL==" type="hidden" value="rNg4p
  &gt; UhnV"&gt;&lt;/input&gt;
  </code></pre>