Wait for page load in Selenium

后端 未结 30 2777
攒了一身酷
攒了一身酷 2020-11-22 07:12

How do you make Selenium 2.0 wait for the page to load?

30条回答
  •  梦如初夏
    2020-11-22 08:14

    Man all these answers require too much code. This should be a simple thing as its pretty common.

    Why not just inject some simple javascript with the webdriver and check. This is the method I use in my webscraper class. The javascript is pretty basic even if you don't know js.

        def js_get_page_state(self):        
        """
        Javascript for getting document.readyState
        :return: Pages state.
    
        More Info: https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState
        """
        ready_state = self.driver.execute_script('return document.readyState')
        if ready_state == 'loading':
            self.logger.info("Loading Page...")
        elif ready_state == 'interactive':
            self.logger.info("Page is interactive")
        elif ready_state == 'complete':
            self.logger.info("The page is fully loaded!")
        return ready_state
    

提交回复
热议问题