playwright自动化上传附件

需求

自动设置上传头像

过程

  1. 首先保存本地一个文件,例如 aaa.php
bash 复制代码
file_path = files/aaa.png
  1. 获取输入类型为 "file" 的按钮

    file_input_element = page.locator('input[type=file]')

  2. 将本地保存的图片路径赋值

    file_input_element.set_input_files(file_path)

  3. 点击上传按钮

bash 复制代码
page.check("#Upload")

整体代码

python 复制代码
# 导入需要的模块
from playwright.sync_api import Playwright, sync_playwright

# 启动Chromium浏览器
browser = browser.start()

# 打开一个页面
page = browser.new_page()

# 跳转到需要上传文件的页面
page.goto('https://www.example.com/upload')

# 访问页面上的input标签,并为其设置要上传的文件名称
file_input_element = page.locator('input[type=file]')
file_input_element.set_input_files(file_path)

# 等待上传完成
page.wait_for_load_state()

# 点击上传按钮上传附件
page.check("#Upload")

# 关闭浏览器
page.close()
browser.close()
相关推荐
qq_3718021129 分钟前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
逃逸线LOF1 小时前
服务网关Gateway
java·运维·gateway
分布式存储与RustFS3 小时前
OpenSearch 的索引快照别只留本地:用 repository-s3 存进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
瑞克-桑切斯3 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
奶茶树3 小时前
【Linux】环境开发工具(vim,gcc,g++,Makefile)
linux·运维·vim
机 _ 长4 小时前
05 智算运维|8 张卡怎么才算「捆成一张」:NCCL 实测与拓扑
运维·人工智能·算法·智算运维
andxe5 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机
Decay__5 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
Sakura_j_h_5 小时前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc