From a3e9ef91ad6c02972ff612a957b9135c7e965a52 Mon Sep 17 00:00:00 2001 From: UncleCode Date: Mon, 12 May 2025 21:17:57 +0800 Subject: [PATCH] fix(crawler): remove automatic page closure in screenshot methods Removes automatic page closure in take_screenshot and take_screenshot_naive methods to prevent premature closure of pages that might still be needed in the calling context. This allows for more flexible page lifecycle management by the caller. BREAKING CHANGE: Page objects are no longer automatically closed after taking screenshots. Callers must explicitly handle page closure when appropriate. --- crawl4ai/__version__.py | 2 +- crawl4ai/async_crawler_strategy.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/crawl4ai/__version__.py b/crawl4ai/__version__.py index 1be2ccd8..799c3b53 100644 --- a/crawl4ai/__version__.py +++ b/crawl4ai/__version__.py @@ -1,3 +1,3 @@ # crawl4ai/_version.py -__version__ = "0.6.3" +__version__ = "0.6.4" diff --git a/crawl4ai/async_crawler_strategy.py b/crawl4ai/async_crawler_strategy.py index 153205db..10d395ee 100644 --- a/crawl4ai/async_crawler_strategy.py +++ b/crawl4ai/async_crawler_strategy.py @@ -1467,8 +1467,8 @@ class AsyncPlaywrightCrawlerStrategy(AsyncCrawlerStrategy): buffered = BytesIO() img.save(buffered, format="JPEG") return base64.b64encode(buffered.getvalue()).decode("utf-8") - finally: - await page.close() + # finally: + # await page.close() async def take_screenshot_naive(self, page: Page) -> str: """ @@ -1501,8 +1501,8 @@ class AsyncPlaywrightCrawlerStrategy(AsyncCrawlerStrategy): buffered = BytesIO() img.save(buffered, format="JPEG") return base64.b64encode(buffered.getvalue()).decode("utf-8") - finally: - await page.close() + # finally: + # await page.close() async def export_storage_state(self, path: str = None) -> dict: """