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.
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
# crawl4ai/_version.py
|
# crawl4ai/_version.py
|
||||||
__version__ = "0.6.3"
|
__version__ = "0.6.4"
|
||||||
|
|
||||||
|
|||||||
@@ -1467,8 +1467,8 @@ class AsyncPlaywrightCrawlerStrategy(AsyncCrawlerStrategy):
|
|||||||
buffered = BytesIO()
|
buffered = BytesIO()
|
||||||
img.save(buffered, format="JPEG")
|
img.save(buffered, format="JPEG")
|
||||||
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
||||||
finally:
|
# finally:
|
||||||
await page.close()
|
# await page.close()
|
||||||
|
|
||||||
async def take_screenshot_naive(self, page: Page) -> str:
|
async def take_screenshot_naive(self, page: Page) -> str:
|
||||||
"""
|
"""
|
||||||
@@ -1501,8 +1501,8 @@ class AsyncPlaywrightCrawlerStrategy(AsyncCrawlerStrategy):
|
|||||||
buffered = BytesIO()
|
buffered = BytesIO()
|
||||||
img.save(buffered, format="JPEG")
|
img.save(buffered, format="JPEG")
|
||||||
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
||||||
finally:
|
# finally:
|
||||||
await page.close()
|
# await page.close()
|
||||||
|
|
||||||
async def export_storage_state(self, path: str = None) -> dict:
|
async def export_storage_state(self, path: str = None) -> dict:
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user