我们以头条为例,利用Playwright加载头条的登录cookie,然后自动发布微头条,下面是测试结果
1、先在chrome中安装一个获取浏览器cookie的chrome插件
3、chrome登录头条后,点击插件获取cookie保存到本地cookies.json
4、运行下面的python代码即可自动发布微头条
点击查看全文
from playwright.sync_api import sync_playwright import json import time def run(website_url): with sync_playwright() as p: # 启动浏览器上下文 context = p.chromium.launch_persistent_context( user_data_dir="./chrome-data", # 指定用户数据目录 headless=False # 设置为False以便查看浏览器操作 ) # 加载cookie文件 try: with open("cookies.json", "r") as f: cookies = json.load(f) # 确保每个cookie都有正确的sameSite属性 for cookie in cookies: if 'sameSite' not in cookie or cookie['sameSite'] not in ['Strict', 'Lax', 'None']: cookie['sameSite'] = 'Lax' # 默认设置为Lax # 在上下文中添加cookie context.add_cookies(cookies) print("Cookie加载成功") except Exception as e: print(f"加载Cookie失败: {e}") # 打开新页面 page = context.new_page() # 导航到目标网站 page.goto(website_url) # 等待页面加载完成 page.wait_for_load_state("networkidle") # 刷新页面以应用cookie page.reload() page.wait_for_load_state("networkidle") # 等待编辑器加载 page.wait_for_selector("div.syl-editor div.ProseMirror", state="visible") # 清空编辑器内容并填写新内容 editor = page.locator("div.syl-editor div.ProseMirror") # 清空编辑器内容 editor.evaluate("el => el.innerHTML = ''") # 填写内容 content_to_fill = "这是自动填写的内容" editor.type(content_to_fill) # 等待内容填写完成 time.sleep(1) # 点击发布按钮 publish_button = page.locator("button.publish-content") publish_button.click() # 等待发布完成 time.sleep(3) # 关闭浏览器上下文 context.close() print("表单填写并发布成功") if __name__ == "__main__": # 替换为你的目标网站URL target_url = "https://mp.toutiao.com/profile_v4/weitoutiao/publish?from=toutiao_pc" run(target_url)
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?