mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 16:48:30 +00:00
- Migrate crewai-tools as standalone package in lib/tools - Configure UV workspace for monorepo structure - Move assets to repository root - Clean up duplicate README files - Focus pre-commit hooks on lib/crewai/src only
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, Any, Union
|
|
|
|
if TYPE_CHECKING:
|
|
from playwright.async_api import Browser as AsyncBrowser
|
|
from playwright.async_api import Page as AsyncPage
|
|
from playwright.sync_api import Browser as SyncBrowser
|
|
from playwright.sync_api import Page as SyncPage
|
|
|
|
|
|
async def aget_current_page(browser: Union[AsyncBrowser, Any]) -> AsyncPage:
|
|
"""
|
|
Asynchronously get the current page of the browser.
|
|
Args:
|
|
browser: The browser (AsyncBrowser) to get the current page from.
|
|
Returns:
|
|
AsyncPage: The current page.
|
|
"""
|
|
if not browser.contexts:
|
|
context = await browser.new_context()
|
|
return await context.new_page()
|
|
context = browser.contexts[0]
|
|
if not context.pages:
|
|
return await context.new_page()
|
|
return context.pages[-1]
|
|
|
|
|
|
def get_current_page(browser: Union[SyncBrowser, Any]) -> SyncPage:
|
|
"""
|
|
Get the current page of the browser.
|
|
Args:
|
|
browser: The browser to get the current page from.
|
|
Returns:
|
|
SyncPage: The current page.
|
|
"""
|
|
if not browser.contexts:
|
|
context = browser.new_context()
|
|
return context.new_page()
|
|
context = browser.contexts[0]
|
|
if not context.pages:
|
|
return context.new_page()
|
|
return context.pages[-1] |