title: Does Selenium only work Javascript sites? (BeautifulSoup works but Selenium does not)
body: <p>I am trying to scrape data from google finance with following link
  <a href="https://www.google.com/finance/quote/ACN:NYSE" rel="nofollow noreferrer">https://www.google.com/finance/quote/ACN:NYSE</a></p>
  <p>The section I am trying to fetch is on right side containing information like market cap, p/e ratio etc.
  <a href="https://i.stack.imgur.com/qT22D.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qT22D.png" alt="enter image description here" /></a></p>
  <p>Earlier I thought it was javascript and wrote the following snippet:</p>
  <pre><code>class_name = 'gyFHrc'
  options = Options()
  options.headless = True
  service = Service('/usr/local/bin/geckodriver')
  browser = Firefox(service=service, options=options)
  browser.get(base_url+suffix)
  wait = WebDriverWait(browser, 15)
  wait.until(presence_of_element_located((By.CLASS_NAME, class_name))) # &lt;--line 58
  stuff = browser.find_elements(By.CLASS_NAME, class_name)
  print(f'stuff--&gt;{stuff}')
  for elem in stuff:
      html = elem.get_attribute(&quot;outerHTML&quot;)
      # print(f'html:{html}')
  </code></pre>
  <p>I get the following error:</p>
  <pre><code>File &quot;scraping_google_finance_js.py&quot;, line 58, in &lt;module&gt;
      wait.until(presence_of_element_located((By.CLASS_NAME, class_name)))
    File &quot;/Users/me/opt/anaconda3/envs/scraping/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&quot;, line 90, in until
      raise TimeoutException(message, screen, stacktrace)
  selenium.common.exceptions.TimeoutException: Message: 
  Stacktrace:
  WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:183:5
  NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.jsm:395:5
  element.find/&lt;/&lt;@chrome://remote/content/marionette/element.js:300:16
  </code></pre>
  <p>Later, I realised that this was plain HTML and I can use BeautifulSoup as follows:</p>
  <pre><code>class_name = 'gyFHrc'
  soup = BeautifulSoup(html, 'html.parser')
  box_rows = soup.find_all(&quot;div&quot;, class_name)
  print(box_rows)
  for row in box_rows:
      print(type(row), str(row.contents[1].contents))
  </code></pre>
  <p>This worked with following output:</p>
  <pre><code>&lt;class 'bs4.element.Tag'&gt; ['$295.14']  
  &lt;class 'bs4.element.Tag'&gt; ['$289.67 - $298.00']  
  &lt;class 'bs4.element.Tag'&gt; ['$261.77 - $417.37']  
  .....
  </code></pre>
  <p>The question is, why did it not work with Selenium? Did I do something wrong? or Selenium only works with Javascript site?</p>
  <p>Clearly time to load the page was not the problem as BeautifulSoup could fetch and parse the page</p>