The issue you are facing is quite common. Usually a basic scraper is not able to deal with ajax content loading. You should make usage of a library which let you wait for content loading, check if element are visible and so on.
So more than a basic scraper you would need a tool for automating browser navigation.
By my experience I would suggest you the usage of the framework Selenium Webdriver (http://docs.seleniumhq.org/projects/webdriver/).
It is very popular on Stack Overflow (https://stackoverflow.com/tags/selenium/info)
Selenium is a portable software testing framework for web browsers automation in a number of popular programming languages, including Java, C#, Ruby, Groovy, Python, PHP, and Perl. Test playback is possible in most modern web browsers. Selenium deploys on Windows, Linux, and Macintosh platforms.
A simple example of usage in python from documentation. Example with other languages here http://docs.seleniumhq.org/docs/03_webdriver.jsp#introducing-the-selenium-webdriver-api-by-example
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
# Create a new instance of the Firefox driver
driver = webdriver.Firefox()
# go to the google home page
# the page is ajaxy so the title is originally this:
# find the element that's name attribute is q (the google search box)
inputElement = driver.find_element_by_name("q")
# type in the search
# submit the form (although google automatically searches now without submitting)
# we have to wait for the page to refresh, the last thing that seems to be updated is the title
# You should see "cheese! - Google Search"
Note: In case you need an advanced scraper solution you can make usage of Scrapy(python library) joined with Selenium.