wangshaoqing 321bbff1c1 添加学习教程目录(learning/)及对应单元测试
- 新增 DrissionPage 基础教程(01-05)
- 新增 Playwright 基础教程(01-05)
- 新增网络基础教程(01-05)
- 新增 test_learning_examples.py 单元测试
- 更新 .gitignore 忽略 learning/*/output/ 目录
2026-05-06 16:39:55 +08:00

50 lines
1.3 KiB
Python

"""
练习 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()