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()
相关推荐
zhengfei6113 小时前
AI渗透工具——AI驱动的自动化渗透测试框架 | 基于 Model Context Protocol (MCP) 架构
人工智能·架构·自动化
chenyuhao20243 小时前
Linux网络编程:TCP协议
linux·运维·服务器·网络协议·tcp/ip·udp·tcp
csdnZCjava4 小时前
VMware 14无法连接 MKS: 套接字连接尝试次数太多;正在放弃
运维·服务器
hweiyu004 小时前
Linux 命令:xz
linux·运维·服务器
0思必得04 小时前
[Web自动化] Requests模块响应的内容
运维·前端·python·自动化·html·web自动化
喵叔哟4 小时前
14.微服务架构实战
运维·微服务·架构
❀͜͡傀儡师5 小时前
docker部署Rainbond 版本v6.5.0 UI 焕新升级,故障定位更精准
运维·docker·容器
御水流红叶5 小时前
路由虚拟机的安装
运维·服务器
碎碎思5 小时前
从 JTAG 启动 Zynq UltraScale+ 上的嵌入式 Linux 镜像:详细实战教程
linux·运维·服务器
搜搜秀5 小时前
在linux的ext家族的文件系中,inode是也存放在block中的
linux·运维·服务器