original_docstring: 
          Clicks element which matches selector and waits for navigation.
          Note: It's more recommended to use the crawler's crawl method to follow links.
  
          :param selector: an element selector
          :param click_count: the number of clicks, defaults to 1
          :param timeout: the maximum time to wait for navigation (in milliseconds), defaults to 30000
          :raise CrawlerNotRunningError: if the crawler is not running
          :raise NoSuchElementError: if there is no element matching selector
          :raise NavigationTimeoutError: if the timeout is exceeded
          
docstring: Clicks element which matches selector and waits for navigation.
  Note: It's more recommended to use the crawler's crawl method to follow links.
docstring_tokens: Clicks element which matches selector and waits for navigation . Note : It ' s more recommended to use the crawler ' s crawl method to follow links .
code: def click_and_wait(self, selector: str, click_count=1, timeout=30000) -> None:
          """
          Clicks element which matches selector and waits for navigation.
          Note: It's more recommended to use the crawler's crawl method to follow links.
  
          :param selector: an element selector
          :param click_count: the number of clicks, defaults to 1
          :param timeout: the maximum time to wait for navigation (in milliseconds), defaults to 30000
          :raise CrawlerNotRunningError: if the crawler is not running
          :raise NoSuchElementError: if there is no element matching selector
          :raise NavigationTimeoutError: if the timeout is exceeded
          """
  
          self._check_if_crawler_running()
  
          try:
              syncer.sync(asyncio.gather(
                  self._page.waitForNavigation(options={'timeout': timeout}),
                  self._page.click(selector, options={'clickCount': click_count})
              ))
          except PageError:
              raise NoSuchElementError(selector)
          except pyppeteer.errors.TimeoutError:
              raise NavigationTimeoutError(timeout)
code_tokens: def click_and_wait ( self , selector : str , click_count = 1 , timeout = 30000 ) -> None : self . _check_if_crawler_running ( ) try : syncer . sync ( asyncio . gather ( self . _page . waitForNavigation ( options = { 'timeout' : timeout } ) , self . _page . click ( selector , options = { 'clickCount' : click_count } ) ) ) except PageError : raise NoSuchElementError ( selector ) except pyppeteer . errors . TimeoutError : raise NavigationTimeoutError ( timeout )
short_docstring: Clicks element which matches selector and waits for navigation.
short_docstring_tokens: Clicks element which matches selector and waits for navigation .
comment: """
          Clicks element which matches selector and waits for navigation.
          Note: It's more recommended to use the crawler's crawl method to follow links.
  
          :param selector: an element selector
          :param click_count: the number of clicks, defaults to 1
          :param timeout: the maximum time to wait for navigation (in milliseconds), defaults to 30000
          :raise CrawlerNotRunningError: if the crawler is not running
          :raise NoSuchElementError: if there is no element matching selector
          :raise NavigationTimeoutError: if the timeout is exceeded
          """