try to fix navigation error (#630)
This commit is contained in:
@@ -235,7 +235,10 @@ class BrowserState:
|
|||||||
)
|
)
|
||||||
await asyncio.sleep(5)
|
await asyncio.sleep(5)
|
||||||
except Error as playright_error:
|
except Error as playright_error:
|
||||||
LOG.exception(f"Error while navigating to url: {str(playright_error)}")
|
LOG.warning(
|
||||||
|
f"Error while navigating to url: {str(playright_error)}",
|
||||||
|
exc_info=True,
|
||||||
|
)
|
||||||
raise FailedToNavigateToUrl(url=url, error_message=str(playright_error))
|
raise FailedToNavigateToUrl(url=url, error_message=str(playright_error))
|
||||||
success = True
|
success = True
|
||||||
LOG.info(f"Successfully went to {url}")
|
LOG.info(f"Successfully went to {url}")
|
||||||
@@ -265,20 +268,30 @@ class BrowserState:
|
|||||||
if self.page is not None:
|
if self.page is not None:
|
||||||
return self.page
|
return self.page
|
||||||
|
|
||||||
await self.check_and_fix_state(url=url, proxy_location=proxy_location, task_id=task_id)
|
try:
|
||||||
|
await self.check_and_fix_state(url=url, proxy_location=proxy_location, task_id=task_id)
|
||||||
|
except Exception as e:
|
||||||
|
error_message = str(e)
|
||||||
|
if "net::ERR" not in error_message:
|
||||||
|
raise e
|
||||||
|
await self.close_current_open_page()
|
||||||
|
await self.check_and_fix_state(url=url, proxy_location=proxy_location, task_id=task_id)
|
||||||
assert self.page is not None
|
assert self.page is not None
|
||||||
|
|
||||||
if not await BrowserContextFactory.validate_browser_context(self.page):
|
if not await BrowserContextFactory.validate_browser_context(self.page):
|
||||||
await self._close_all_other_pages()
|
await self.close_current_open_page()
|
||||||
if self.browser_context is not None:
|
|
||||||
await self.browser_context.close()
|
|
||||||
self.browser_context = None
|
|
||||||
self.page = None
|
|
||||||
await self.check_and_fix_state(url=url, proxy_location=proxy_location, task_id=task_id)
|
await self.check_and_fix_state(url=url, proxy_location=proxy_location, task_id=task_id)
|
||||||
assert self.page is not None
|
assert self.page is not None
|
||||||
|
|
||||||
return self.page
|
return self.page
|
||||||
|
|
||||||
|
async def close_current_open_page(self) -> None:
|
||||||
|
await self._close_all_other_pages()
|
||||||
|
if self.browser_context is not None:
|
||||||
|
await self.browser_context.close()
|
||||||
|
self.browser_context = None
|
||||||
|
self.page = None
|
||||||
|
|
||||||
async def stop_page_loading(self) -> None:
|
async def stop_page_loading(self) -> None:
|
||||||
page = self.__assert_page()
|
page = self.__assert_page()
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user