- 新增 DrissionPage 基础教程(01-05) - 新增 Playwright 基础教程(01-05) - 新增网络基础教程(01-05) - 新增 test_learning_examples.py 单元测试 - 更新 .gitignore 忽略 learning/*/output/ 目录
50 lines
1.3 KiB
Python
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()
|