使用 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 浏览器自动化的实际应用。

相关推荐
狗狗狗狗狗乐啊23 分钟前
搭一个 AI 对话工作台 AChat:从 0 到可用的完整记录(一)
python·react.js·ai编程
qq_25183645726 分钟前
springboot vue3 开发实现 拼豆管理系统
java·开发语言·ai编程
白猫不黑1 小时前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试
郑州光合科技余经理1 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
kuuailetianzi2 小时前
Python初识:定位、优势与发展历程
python
知识分享小能手2 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
guoran_shini2 小时前
LLM微调-训练垂类问答模型
python·lora·sft
basketball6162 小时前
Python FastAPI 介绍以及常用方法
python·fastapi·vllm·ai infra
+VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
论文复现现场2 小时前
企业知识库 RAG 用什么模型便宜?GLM-5.3-Flash 长文本 API 实测
python·rag·企业知识库·大模型api·glm-5.3-flash