title: Python - Firefox Selenium 'Expected browser binary location, but unable to find binary in default location'
body: <p>So I'm trying to scrape a website which uses JavaScript to display some of the text. I found out that I should be using Selenium WebDrivers instead of requests.get(), so I tried to use PhantomJS WebDriver, this didnt work however as whenever I tried to scrape this website it would scrape it successfully, but the website would produce HTML along the lines of this:</p>
  
  <pre><code>&lt;p&gt;Could not find page&lt;/p&gt;
  </code></pre>
  
  <p>So Im guessing for some reason the WebDriver wasn't working properly. I am now trying to use the FireFox WebDriver -- Geckodriver. The path to the .exe is in my PATH, but when I run this command in python</p>
  
  <pre><code>browser = webdriver.Firefox()
  </code></pre>
  
  <p>It spits out the error of "Could not find specified geckodriver.exe in PATH". So instead of that, I used executable_path argument in Firefox() so it looked like this:</p>
  
  <pre><code>browser = webdriver.Firefox(executable_path='path/to/geckodriver/')
  </code></pre>
  
  <p>When I run it now, it opens geckodriver.exe (doesn't show anything on the cmd prompt screen) and spits out this error in IDLE:</p>
  
  <pre><code>WebDriverException: Message: Expected browser binary location, but unable to     find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line.
  </code></pre>
  
  <p>However, when I try to use ChromDriver it works fine. I dont understand why this one works and others dont?</p>
  
  <p><strong>Questions</strong>:</p>
  
  <ol>
  <li>Why isn't PhantomJS working?</li>
  <li>Why isn't GeckoDriver working?</li>
  <li>Why does ChromeDriver work?</li>
  </ol>