text: Title: Tuple index out of range in Pyppeteer Exception _rewriteError
  Body: Hey team, 
  
  I am getting a bit of an odd error that may be a bug, to be truthful I am unsure.
  
  I am using Python 3.8.2.
  
  For reference, I am automatically scanning a large number of URLs that may or may not exist/be online - basically think of them as the worst possible types of URLs you could throw at it - timeouts, URL doesn't actually exist, you get the idea.  Each URL is checked to see if it loads with http:// or https:// protocol (as some cases only load with the specific protocol but not the other).  As it goes, I am trying to catch any redirections and add them to a list.  By the time this code runs, the browser has been launched and a page has been created.  Keep in mind this isn't the exact code (for example Exception catching is much more thorough), but roughly the logic is as follows:
  
  ```
      async def cCheck(self,page,pCheck):    
          try:
              with async_timeout.timeout(120):
                  httpsURL = url.replace('http://','https://', 1)
                  httpURL = url.replace('https://','http://', 1)
                  if pCheck is True: #All this does is flip between HTTP vs HTTPS - the flag is determined in the prior function
                      if url.startswith('http://'):
                          url = httpsURL
                      elif url.startswith('https://'):
                          url = httpURL
                  else:
                      url = url
                  redirectionHistory = [url]
                  htmlSource = 'Source Code Not Found'
                  pageTitle = 'Page Title Not Found'
                  browserResponse = None             
                  page.setDefaultNavigationTimeout(60000)
                  page.on(pyppeteer.frame_manager.FrameManager.Events.FrameNavigated,
                      lambda event: redirectionHistory.append(page.url))
                  browserResponse = await page.goto(url,waitUntil=['load','domcontentloaded','networkidle0'])
                  htmlSource = await page.content()
                  pageTitle = await page.title()
          except Exception as e:
              log.error('Could not parse results of '+url+' due to the following error: '+str(e)+ ' traceback: ' + traceback.format_exc())
              return
          if browserResponse is not None:
              #Do Stuff
          else:
              #Do Stuff
  ```
  
  I am getting a transient error (as in, most URLs I am checking this does not happen) with the below traceback.
  
  When this occurs, it occurs as an uncaught exception and everything grinds to a halt.
  
  ```
  2020-05-27 08:00:00,000 - model.check - ERROR - check : 424 - Could not parse results of http://notarealdomain.com due to the following error: tuple index out of range traceback: 
  
  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/dist-packages/pyppeteer/execution_context.py", line 105, in evaluateHandle
      'userGesture': True,
  concurrent.futures._base.CancelledError
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/home/afcc/watcher/model/check.py", line 405, in cCheck
      htmlSource = await page.content()
    File "/usr/local/lib/python3.6/dist-packages/pyppeteer/page.py", line 805, in content
      return await frame.content()
    File "/usr/local/lib/python3.6/dist-packages/pyppeteer/frame_manager.py", line 393, in content
      '''.strip())
    File "/usr/local/lib/python3.6/dist-packages/pyppeteer/frame_manager.py", line 309, in evaluate
      pageFunction, *args, force_expr=force_expr)
    File "/usr/local/lib/python3.6/dist-packages/pyppeteer/execution_context.py", line 54, in evaluate
      pageFunction, *args, force_expr=force_expr)
    File "/usr/local/lib/python3.6/dist-packages/pyppeteer/execution_context.py", line 108, in evaluateHandle
      _rewriteError(e)
    File "/usr/local/lib/python3.6/dist-packages/pyppeteer/execution_context.py", line 235, in _rewriteError
      if error.args[0].endswith('Cannot find context with specified id'):
  IndexError: tuple index out of range
  ```
  What seems to be happening is it is trying to fire the _rewriteError in execution_context.py, where it hits the line:
  
  ```
  if error.args[0].endswith('Cannot find context with specified id'):
  ```
  
  in
  
  ```
  def _rewriteError(error: Exception) -> None:
      if error.args[0].endswith('Cannot find context with specified id'):
          msg = 'Execution context was destroyed, most likely because of a navigation.'  # noqa: E501
          raise type(error)(msg)
      raise error
  ```
  
  And it then generates an uncaught IndexError, at which point everything breaks down.
  
  If I understand the above error correctly, it is caused by trying to process a page that has since navigated to a different URL/rendered JS.  However, I have goto's waitUntil set so it should be waiting for it to finish, yes?
  
  What seems to be happening is it is hitting:
  
  ```
                  htmlSource = await page.content()
  ```
  And then tries to fire the ''Execution context was destroyed, most likely because of a navigation.', but then fails because the line:
  
  ```
      if error.args[0].endswith('Cannot find context with specified id'):
  ```
  
  Causes an IndexError.
  
  I've been trying to diagnose this on my own for days, so I'm finally turning to here to see if anyone has any suggestions, and to run it by you as a possible bug.
  
  Please tell me if you need any further information/code.
  
  Thanks in advance to anyone who is able to help out.