模块名称为 playwright-python,微软开源的,是针对 Python 语言的纯自动化工具,可以通过 API 调用浏览器,(github 地址https://github.com/microsoft/playwright-python)。
paywright是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作,并同时支持以无头模式、有头模式运行。Playwright提供的自动化技术是绿色的、功能强大、可靠且快速,支持Linux、Mac以及Windows操作系统。
模块安装
pip install playwright
该模块安装非常快,但完整体验还需要安装浏览器相关驱动,这个有点大,命令如下:python -m playwright install
browser.new_context() 创建一个新的浏览器上下文。它不会与其他浏览器上下文共享 cookies/缓存。
需手工扫码登录,即可完成视频上传、内容增加、发布
from playwright.sync_api import sync_playwright
if __name__ == "__main__":
# playwrightUI自动化工具
with sync_playwright() as playwright:
browser = playwright.chromium.launch(headless=False, slow_mo=500)
context = browser.new_context()
page = context.new_page()
newText =[]
page.goto("https://creator.xiaohongshu.com/creator/home")
# 断点 暂停扫码登录
page.pause()page.get_by_text("发布笔记", exact=True).click()
page.get_by_text("上传图文").click()# 第一张图片
with page.expect_file_chooser() as upload:
page.get_by_role("textbox").click()
chooser = upload.valuechooser.set_files("D:\\1.png")
# 多张图片写到这里
imgs = ["D:\\2.png", "D:\\3.png"]
for img in imgs:
with page.expect_file_chooser() as upload:
page.get_by_role("button", name="上传更多").click()
chooser = upload.value
chooser.set_files(img)
# 填写标题
page.get_by_placeholder("填写标题,可能会有更多赞哦~").fill("2、安装python代码编写工具")
# 读取文件中的文案
txt = open("D:\\新建文本文档.txt", "r", encoding='utf-8')
# 填充进行发布
page.get_by_placeholder("填写更全面的描述信息,让更多的人看到你吧!").fill(txt.read())
page.get_by_role("button", name="发布").click()
打开是无痕模式,每次登录需要扫码,很麻烦,如何解决呢
离线安装chromium
如果你有安装chromium,firefox 和 webkit 这3个官方提供的内置浏览器的需求,那么接着往下看。
我们先看去哪里下载到这3个浏览器, 在终端执行以下命令
playwright install --dry-run
它会根据你当前安装的playwright 版本,给出对应的浏览器最近匹配版本,以及下载地址
以 chromium 安装为例,先下载https://playwright.azureedge.net/builds/chromium/1055/chromium-win64.zip
下载后是一个chromium-win64.zip压缩包。
接着看Install location 安装位置:C:\Users\dell\AppData\Local\ms-playwright\chromium-1055 按照这个路径依次创建文件夹,把压缩包放到chromium-1055下解压即可