title: How to run `selenium-chromedriver` in multiple threads
body: <p>I am using <code>selenium</code> and <code>chrome-driver</code> to <strong>scrape</strong> data from some pages and then run some additional tasks with that information (for example, type some comments on some pages)</p>
  <p>My program has a button. Every time it's pressed it calls the <code>thread_(self)</code> (bellow), starting a new thread. The target function <code>self.main</code> has the code to run all the selenium work on a <code>chrome-driver</code>.</p>
  <pre><code>def thread_(self):
      th = threading.Thread(target=self.main)
      th.start()
  </code></pre>
  <p>My problem is that after the user press the first time. This <code>th</code> thread will open browser <strong>A</strong> and do some stuff. While browser <strong>A</strong> is doing some stuff, the user will press the button again and open browser <strong>B</strong> that runs the same <code>self.main</code>. <em>I want each browser opened to run simultaneously.</em>  The problem I faced is that when I run that thread function, the first browser stops and the second browser is opened.</p>
  <p>I know my code can create threads infinitely. And I know that this will affect the pc performance but I am ok with that. <em><strong>I want to speed up the work done</strong></em> by <code>self.main</code>!</p>