def _route(self, url: Url): """Route camera to url. Args: url: A Url to route camera to """ self.webdriver.set_page_load_timeout(10) self.webdriver.get(url.to_string())
def get_page(url: Url) -> Page: """Get page. Fetch page at url Args: url: Url page is located at Returns: The requested page if response is 200 otherwise None Page """ parser = LinkParser() page = Page() try: with urllib.request.urlopen(url.to_string()) as response: html = response.read() except HTTPError as error: page.status_code = error.getcode() return page page.status_code = response.getcode() headers = dict(response.headers) for header in headers: if header.lower() == 'content-type': page.content_type = headers[header] links = parser.parse(str(html)) for link in links: try: page.add_url(Url.from_string(link)) except InvalidUrlException as e: try: page.add_url(url.create_child_url(link)) except InvalidUrlException as e: pass return page