Getting "Message: h is null"
Question: I've recently encountered something I've never seen before while using
`selenium`.

The code (quite simple and straightforward):

    
    
    from selenium import webdriver
    
    driver = webdriver.Firefox()
    driver.get("http://www.drugs.com/drug-class/laxatives.html?condition_id=&generic=0&sort=rating&order=desc") 
    
    print driver.find_element_by_tag_name("title").text
    

Here is a stack trace of the error I'm getting:

    
    
    Traceback (most recent call last):
      File "/Users/a/p/SO/selenium_scripts/test.py", line 6, in <module>
        print driver.find_element_by_tag_name("title").text
      File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 328, in find_element_by_tag_name
        return self.find_element(by=By.TAG_NAME, value=name)
      File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 664, in find_element
        {'using': by, 'value': value})['value']
      File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 175, in execute
        self.error_handler.check_response(response)
      File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.WebDriverException: Message: h is null
    

Using Firefox 37.0 and selenium 2.45.0.

* * *

Observations:

  * if I switch to `webdriver.Chrome()` \- I don't see any errors
  * if I use a different URL, e.g. `https://google.com` \- I don't see any errors
  * I've tried to explicitly wait for search results to be visible before making any further actions, but I still get the same error, code I've used:
    
        from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    driver = webdriver.Firefox()
    driver.get("http://www.drugs.com/drug-class/laxatives.html?condition_id=&generic=0&sort=rating&order=desc") 
    
    # wait for the table list to load
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "table.data-list")))
    

  * it is not easily googleable which probably means it is web-site specific, but, as noted before, no errors in Chrome

* * *

Where is the error coming from and what can I do to prevent/fix it? Does this
mean I cannot browser/locate elements on this particular web page using
selenium+firefox?


Answer: Looks like `selenium 2.45.0 does not support ff 37`.

The [change
log](http://code.google.com/p/selenium/source/browse/java/CHANGELOG) shows
selenium 2.44 supported FF33. Selenium 2.45 was released around Feb 26th 2015,
while FF37 was released on March 31st 2015.

