"""
练习 02: 附着到已经启动的 Chrome 调试端口。

前置:
1. 先执行 `./.venv/bin/python login_douyin.py --browser-port 9223`
2. 在打开的浏览器里完成登录

目标:
1. 自己导入 `ChromiumPage` 和 `ChromiumOptions`
2. 通过 `127.0.0.1:9223` 附着到已启动浏览器
3. 打印当前页面 URL 或标题
4. 手动确认它附着的是你刚才登录的那个浏览器

运行:
    ./.venv/bin/python learning/drissionpage_basics/02_attach_browser.py
"""

import sys
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parent.parent.parent
if str(PROJECT_ROOT) not in sys.path:
    sys.path.insert(0, str(PROJECT_ROOT))

from Douyin import ensure_browser_debug_port_ready

DEFAULT_BROWSER_PORT = 9223


def build_browser_address(browser_port: int) -> str:
    return f"127.0.0.1:{browser_port}"


def main() -> None:
    from DrissionPage import ChromiumOptions
    from DrissionPage import ChromiumPage

    browser_address = build_browser_address(DEFAULT_BROWSER_PORT)
    ensure_browser_debug_port_ready(DEFAULT_BROWSER_PORT)

    options = ChromiumOptions().set_address(browser_address).existing_only(True)
    page = ChromiumPage(options)
    print(f"[INFO] 已附着浏览器: {browser_address}")
    print(f"[INFO] 当前 URL: {page.url}")
    print(f"[INFO] 页面标题: {page.title}")


if __name__ == "__main__":
    main()
