feat: 개선된 쿠키 삭제 및 페이지 새로 고침 기능 추가

- 'clear_cookies' 액션을 'Clear all cookies and reload page'로 변경
- 현재 페이지가 없거나 잘못된 타입일 경우 오류 처리 추가
- 쿠키 삭제 후 페이지 새로 고침 성공 메시지 및 오류 메시지 추가
- extend_planner_system_message에 OAuth 관련 조건 추가
This commit is contained in:
암냥 2025-06-21 15:32:17 +09:00
commit 8ad30460ce
2 changed files with 39 additions and 11 deletions

46
main.py
View file

@ -14,8 +14,7 @@ from browser_use import (
Controller,
ActionResult,
)
from patchright.async_api import async_playwright as async_patchright
from playwright.async_api import Page
from patchright.async_api import async_playwright as async_patchright, Page
from lib.utils import env_cheker
from lib.utils.backend_client import notify_backend
@ -113,17 +112,44 @@ async def scan_one_url(url: str, skip_html_check: bool = False):
initial_actions = [{"open_tab": {"url": target_url}}]
controller = Controller(output_model=model.BaseModel, exclude_actions=['search_google'])
@controller.action('clear_cookies')
@controller.action('Clear all cookies and reload page')
async def clear_cookies(browser_session: BrowserSession) -> ActionResult:
# Clear all cookies for the current context
print("🔧 Executing clear_cookies action...")
# Get the current page
page = await browser_session.get_current_page()
await page.context.clear_cookies()
await page.context.clear_permissions()
await page.reload()
if not page:
print("❌ 현재 페이지를 찾을 수 없습니다. 쿠키를 지울 수 없습니다.")
return ActionResult(
extracted_content="현재 페이지를 찾을 수 없습니다.",
include_in_memory=True
)
if not isinstance(page, Page):
print("❌ 현재 페이지가 올바른 타입이 아닙니다. 쿠키를 지울 수 없습니다.")
return ActionResult(
extracted_content="현재 페이지가 올바른 타입이 아닙니다.",
include_in_memory=True
)
print(f"🔍 현재 페이지 URL: {page.url}")
print("🗑️ All cookies have been cleared.")
return ActionResult(extracted_content="All cookies have been cleared")
try:
# Clear all cookies for the current context
await page.context.clear_cookies()
await page.context.clear_permissions()
await page.reload()
print("🗑️ All cookies have been cleared and page reloaded.")
return ActionResult(
extracted_content="Successfully cleared all cookies and reloaded the page",
include_in_memory=True
)
except Exception as e:
print(f"❌ Error clearing cookies: {e}")
return ActionResult(
extracted_content=f"Failed to clear cookies: {str(e)}",
include_in_memory=True
)
print("🤖 LLM 모델 초기화 및 스캔 시작...")
print("Available actions:", list(controller.registry.registry.actions.keys()))
try: