Running Selenium Webdriver headlessly using Cron
Question: I am trying to execute my Selenium Scripts through cron headlessly using Xvfb.
The code of shell script looks something like this

    
    
    export PATH=$PATH
    Xvfb :10 -ac &
    gnome-terminal -e export DISPLAY=:10 &
    gnome-terminal -e firefox &
    gnome-terminal -e export DISPLAY=:10 &
    gnome-terminal -e firefox &
    cd wait/test/
    sh deploy.sh
    

But I am getting an eror something like this :

    
    
    Failed to parse arguments: Cannot open display: 
    Failed to parse arguments: Cannot open display: 
    Failed to parse arguments: Cannot open display: 
    Failed to parse arguments: Cannot open display: 
    [dix] Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!
    [dix] Could not init font path element /usr/share/fonts/X11/100dpi/:unscaled, removing from list!
    [dix] Could not init font path element /usr/share/fonts/X11/75dpi/:unscaled, removing from list!
    [dix] Could not init font path element /usr/share/fonts/X11/100dpi, removing from list!
    [dix] Could not init font path element /usr/share/fonts/X11/75dpi, removing from list!
    [dix] Could not init font path element /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType, removing from list!
    Traceback (most recent call last):
      File "runner.py", line 7, in <module>
        from test import root
      File "/home/user/Tests/redirect/wait/test/ScrapyCrawl/test.py", line 47, in <module>
        class root (unittest.TestCase):
      File "/home/user/Tests/redirect/wait/test/ScrapyCrawl/test.py", line 49, in root
        driver = webdriver.Firefox ()
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
        self.binary, timeout),
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
        self.binary.launch_browser(self.profile)
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 61, in launch_browser
        self._wait_until_connectable()
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 100, in _wait_until_connectable
        self._get_firefox_output())
    selenium.common.exceptions.WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Error: no display specified\n' 
    

Any help would be appreciated. Thanks.


Answer: I used `pyvirtualdisplay` to solve this problem. It is a a Python wrapper for
Xvfb and Xephyr. More info can be found here :
[pyvirtualdisplay](http://coreygoldberg.blogspot.in/2011/06/python-headless-
selenium-webdriver.html)

