使用 Webwright 在 CSDN 自动发文:Python 浏览器自动化实践

前言

最近发现微软开源了一个非常有意思的项目 ------ Webwright,它是一个让 LLM 具备浏览器操作能力的框架。今天我们就用它环境中的 Playwright 来实现 CSDN 自动发文。

什么是 Webwright?

Webwright 给 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),可以保存登录状态。脚本会:

  1. 打开 CSDN 博客编辑器
  2. 检测登录状态,未登录则等待手动登录
  3. 自动填写标题和 HTML 内容
  4. 通过 CKEditor API 填充正文,然后点击发布

代码示例

复制代码
from playwright.async_api import async_playwright

async with async_playwright() as p:
    browser = await p.chromium.launch_persistent_context(
        user_data_dir="user_data",
        headless=False,
    )
    page = browser.pages[0]
    await page.goto("https://editor.csdn.net/md")
    # 填写内容、发布...

小结

Webwright 将浏览器视为 agent 可以启动、检查和丢弃的工具,而持久化产物是本地工作区中的代码和日志。这种设计让浏览器自动化变得更加可靠和可复现。


本文由 Playwright (Webwright 环境) 自动发布,展示了 Python 浏览器自动化的实际应用。

相关推荐
eric-sjq29 分钟前
小思框架 · 30M 级长上下文新架构对比技术报告
人工智能·python·深度学习·语言模型
Dxy12393102161 小时前
JS AES加密详解
开发语言·javascript·ecmascript
信息安全失业大专人员1 小时前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
4ever.ov01 小时前
精学C++第一站 从命名空间到引用:C++入门核心语法全梳理(13000字长文)
开发语言·c++·clion
小杨互联网1 小时前
Go 现代 CLI 工具离线镜像合集
开发语言·后端·golang·开源·go·命令行
揽星河..1 小时前
【C语言】数组
c语言·开发语言·算法
FRing032 小时前
JavaScript入门到精通三十三(异常处理、call方法、apply方法、bind方法、防抖、节流)
开发语言·前端·javascript
geovindu2 小时前
rust: Semaphore Pattern
开发语言·后端·设计模式·rust·代理模式·企业级信号量模式·同步型模式
reasonsummer2 小时前
【办公类-04-05】20261030整理手机照片(华为手机助手导出照片到日期文件夹+批量添加四级文件夹+手动转移照片更名+更改三级文件夹合并汉字名称)
python·智能手机
纪念 2292 小时前
C++ 算法(模拟)
开发语言·c++·算法