diff --git a/app/utils/nvMapPwScraper.py b/app/utils/nvMapPwScraper.py index 2885242..3fc6468 100644 --- a/app/utils/nvMapPwScraper.py +++ b/app/utils/nvMapPwScraper.py @@ -15,7 +15,8 @@ class NvMapPwScraper(): _context = None _win_width = 1280 _win_height = 720 - _max_retry = 60 # place id timeout threshold seconds + _max_retry = 3 + _timeout = 60 # place id timeout threshold seconds # instance var page = None @@ -97,7 +98,7 @@ patchedGetter.toString();''') async def get_place_id_url(self, selected): count = 0 get_place_id_url_start = time.perf_counter() - while (count <= 1): + while (count <= self._max_retry): title = selected['title'].replace("", "").replace("", "") address = selected.get('roadAddress', selected['address']).replace("", "").replace("", "") encoded_query = parse.quote(f"{address} {title}") @@ -106,9 +107,12 @@ patchedGetter.toString();''') wait_first_start = time.perf_counter() try: - await self.goto_url(url, wait_until="networkidle",timeout = self._max_retry/2*1000) + await self.goto_url(url, wait_until="networkidle",timeout = self._timeout*1000) except: - await self.page.reload(wait_until="networkidle", timeout = self._max_retry/2*1000) + if "/place/" in self.page.url: + return self.page.url + logger.error(f"[ERROR] Can't Finish networkidle") + wait_first_time = (time.perf_counter() - wait_first_start) * 1000 @@ -123,9 +127,11 @@ patchedGetter.toString();''') url = self.page.url.replace("?","?isCorrectAnswer=true&") try: - await self.goto_url(url, wait_until="networkidle",timeout = self._max_retry/2*1000) + await self.goto_url(url, wait_until="networkidle",timeout = self._timeout*1000) except: - await self.page.reload(wait_until="networkidle", timeout = self._max_retry/2*1000) + if "/place/" in self.page.url: + return self.page.url + logger.error(f"[ERROR] Can't Finish networkidle") wait_forced_correct_time = (time.perf_counter() - wait_forced_correct_start) * 1000 logger.debug(f"[DEBUG] Try {count+1} : Wait for forced isCorrectAnswer flag : {wait_forced_correct_time}ms")