使用 Webwright 在 CSDN 自动发文:Python 浏览器自动化实践
前言最近发现微软开源了一个非常有意思的项目 ——Webwright它是一个让 LLM 具备浏览器操作能力的框架。今天我们就用它环境中的 Playwright 来实现 CSDN 自动发文。什么是 WebwrightWebwright 给 LLM 提供了一个终端可以启动多个浏览器会话来检查页面并完成 Web 任务。它的核心理念是代码即操作用 Python 脚本驱动浏览器而不是逐步预测点击坐标工作区即状态持久化产物是代码和日志而不是浏览器会话轻量级设计核心代理循环仅约 450 行代码环境搭建# 创建 Python 3.11 虚拟环境 py -3.11 -m venv venv311 # 激活环境 .\venv311\Scripts\Activate.ps1 # 克隆 Webwright git clone https://github.com/microsoft/webwright.git # 安装 pip install -e .\webwright playwright install chromium自动发文原理使用 Playwright 的持久化浏览器上下文Persistent Context可以保存登录状态。脚本会打开 CSDN 博客编辑器检测登录状态未登录则等待手动登录自动填写标题和 HTML 内容通过 CKEditor API 填充正文然后点击发布代码示例from playwright.async_api import async_playwright async with async_playwright() as p: browser await p.chromium.launch_persistent_context( user_data_diruser_data, headlessFalse, ) page browser.pages[0] await page.goto(https://editor.csdn.net/md) # 填写内容、发布...小结Webwright 将浏览器视为 agent 可以启动、检查和丢弃的工具而持久化产物是本地工作区中的代码和日志。这种设计让浏览器自动化变得更加可靠和可复现。本文由 Playwright (Webwright 环境) 自动发布展示了 Python 浏览器自动化的实际应用。