如何用Python Playwright实现自动化测试中的文件上传?

2026-05-30 06:525阅读0评论工具资源
  • 内容介绍
  • 文章标签
  • 相关推荐

你有没有遇到过这种情况:明明代码写得没问题,但就是上传不了文件?特别是当你在做自动化测试的时候,文件上传这个环节总是让人头大。今天我们就来聊聊,如何用Python Playwright来搞定这个“小麻烦”。

文件上传的两种方式

在Playwright中, 文件上传其实有两种方式:一种是针对input控件的,另一种是针对非input控件的。听起来是不是有点绕?别急,我们慢慢来。

《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇

input控件上传

input控件上传是最常见的一种方式。你只需要找到那个input元素, 然后调用set_input_files方法, 说真的... 把文件路径传进去,就OK了。比如:

# 定位input控件并上传文件
page.locator.set_input_files

这种方式简单粗暴,适用于大多数场景。但如果你遇到的不是input控件,那就得用第二种方式了,希望大家...。

非input控件上传稍微复杂一点。你需要监听filechooser事件,然后在点击上传按钮后手动选择文件。代码大概是这样的:,一句话。

with page.expect_file_chooser as fc_info:
    page.locator.click  # 点击上传按钮
file_chooser = fc_info.value
file_chooser.set_files

这种方式虽然麻烦一点, 但胜在通用性强,几乎可以应对所有上传场景。

一个让人抓狂的小插曲

别担心... 宏哥在实际操作中发现了一个奇怪的现象:明明他用的是非input控件的上传方式,但代码却莫名其妙地成功了。

阅读全文

你有没有遇到过这种情况:明明代码写得没问题,但就是上传不了文件?特别是当你在做自动化测试的时候,文件上传这个环节总是让人头大。今天我们就来聊聊,如何用Python Playwright来搞定这个“小麻烦”。

文件上传的两种方式

在Playwright中, 文件上传其实有两种方式:一种是针对input控件的,另一种是针对非input控件的。听起来是不是有点绕?别急,我们慢慢来。

《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇

input控件上传

input控件上传是最常见的一种方式。你只需要找到那个input元素, 然后调用set_input_files方法, 说真的... 把文件路径传进去,就OK了。比如:

# 定位input控件并上传文件
page.locator.set_input_files

这种方式简单粗暴,适用于大多数场景。但如果你遇到的不是input控件,那就得用第二种方式了,希望大家...。

非input控件上传稍微复杂一点。你需要监听filechooser事件,然后在点击上传按钮后手动选择文件。代码大概是这样的:,一句话。

with page.expect_file_chooser as fc_info:
    page.locator.click  # 点击上传按钮
file_chooser = fc_info.value
file_chooser.set_files

这种方式虽然麻烦一点, 但胜在通用性强,几乎可以应对所有上传场景。

一个让人抓狂的小插曲

别担心... 宏哥在实际操作中发现了一个奇怪的现象:明明他用的是非input控件的上传方式,但代码却莫名其妙地成功了。

阅读全文