title: DeprecationWarning: use setter for headless property instead of set_headless opts.set_headless(headless=True) using Geckodriver and Selenium in Python
body: <p>I have a very basic Python script that runs perfectly on my local machine (Mint 19), and yet fails on a remote box (Ubuntu 16.04). Same files, both Python 3.7. I have geckodriver in /usr/local/bin and it checks out from path with gecko --version from the command line. I can't figure out what the problem is. The geckodriver.log file just says:</p>
  
  <pre><code>1541268536111   mozrunner::runner   INFO    Running command: "/usr/bin/firefox" "-marionette" "-headless" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofile.Mt6zAyZc7D01"
  *** You are running in headless mode.
  1541268546125   Marionette  INFO    Listening on port 33632
  </code></pre>
  
  <p>The error from the terminal is:</p>
  
  <pre><code>root@dev1:/home/krypterro/PycharmProjects/corbot# python3 test1.py
   2018-11-03 12:28:22,442 -  INFO -  Application - Start
  test1.py:12: DeprecationWarning: use setter for headless property instead of set_headless
    opts.set_headless(headless=True)
  Traceback (most recent call last):
    File "test1.py", line 21, in &lt;module&gt;
      main()
    File "test1.py", line 14, in main
      driver = webdriver.Firefox(options=opts)
    File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
      keep_alive=True)
    File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
      self.start_session(capabilities, browser_profile)
    File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
      response = self.execute(Command.NEW_SESSION, parameters)
    File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
      self.error_handler.check_response(response)
    File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
      raise exception_class(message, screen, stacktrace)
  selenium.common.exceptions.WebDriverException: Message: timed out
  </code></pre>
  
  <p>Here is the Python code:</p>
  
  <pre><code>from selenium import webdriver
  from selenium.webdriver.firefox.options import Options
  import logging
  
  logging.basicConfig(level=logging.INFO)
  logger = logging.getLogger(__name__)
  
  
  def main():
      logging.info('Application - Start')
      # Operate in headless mode
      opts = Options()
      opts.set_headless(headless=True)
      assert opts.headless
      driver = webdriver.Firefox(options=opts)
      driver.get("https://www.krypterro.com")
      html_src = driver.page_source
      print(html_src)
      driver.close()
      driver.quit()
      logging.info('Application - End')
  main()
  </code></pre>
  
  <p>I have port 4444 allowed in the firewall on the remote box, but as it's a local-to-local connection I am not sure that should even matter.</p>