playwright上传文件的实现示例

 更新时间:2026年01月25日 08:51:53   作者:z917185537  
本文主要介绍了playwright上传文件的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

针对系统中上传图片或者文件的功能,需要查看一下上传附件的元素是不是file类型的input标签

file类型input标签上传附件

  • 第一步:定位input标签
  • 第二步:上传文件
  • 上传多个文件,则set_input_files传一个file的list即可
# Select one file
page.locator("input_file").set_input_files('myfile.pdf')
# Select multiple files
page.locator("input_file").set_input_files(['file1.txt', 'file2.txt'])
# Remove all the selected files
page.locator("input_file").set_input_files([])

非input标签,FileChooser实现方法

FileChooser对象实现,如下所示

with self.page.expect_file_chooser() as fc_info:
     self.page.get_by_role("button", name="picture").click() # 点击上传附件按钮
file_chooser = fc_info.value
file_chooser.set_files(get_path(f"{file}")) # 上传文件 ,或者上传多个文件file_chooser.set_files(['file1.txt', 'file2.txt'])

FileChooser对象

FileChooser对象除了set_files方法,还有is_multiple,element,page

  • file_chooser.is_multiple(): 返回值是True 或者False, 控件是否支持上传多个文件
  • file_chooser.element: 返回上传附件的元素对象ElementHandle
  • file_chooser.page: 返回file_chooser所属的page对象

⚠️需要注意上传文件的路径,可以放在统一位置,比如统一放在file文件夹下,写一个通用的获取文件路径的方法, 就可以通过get_path(file_name)获取文件

def get_path(name):
    current_path = os.path.dirname(os.path.dirname(__file__))  # utils dir
    root_dir = os.path.abspath(current_path)  # the parent dir of utils
    file = os.path.join(root_dir, "file", name)
    return file

到此这篇关于playwright上传文件的实现示例的文章就介绍到这了,更多相关playwright上传文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • sklearn+python:线性回归案例

    sklearn+python:线性回归案例

    今天小编就为大家分享一篇sklearn+python:线性回归案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python def函数的定义、使用及参数传递实现代码

    Python def函数的定义、使用及参数传递实现代码

    Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,在Python中使用def用来定义函数,这里简单分享下, 方便学习python的朋友
    2014-08-08
  • 使用Python三角函数公式计算三角形的夹角案例

    使用Python三角函数公式计算三角形的夹角案例

    这篇文章主要介绍了使用Python三角函数公式计算三角形的夹角案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Django各种缓存的配置小结  

    Django各种缓存的配置小结  

    本文主要介绍了Django各种缓存的配置小结 ,Django提供了多种缓存后端,如内存缓存、文件缓存、数据库缓存、Memcached和Redis等,根据项目需求选择合适的缓存后端,下面就一起来了解一下吧
    2023-08-08
  • python函数之任意数量的实参方式

    python函数之任意数量的实参方式

    这篇文章主要介绍了python函数之任意数量的实参方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python的NumPy使用之数组过滤

    Python的NumPy使用之数组过滤

    这篇文章主要介绍了Python的NumPy使用之数组过滤,在 NumPy中,我们使用布尔索引列表来过滤数组布尔索引列表是与数组中的索引相对应的布尔值列表,需要的朋友可以参考下
    2023-07-07
  • python 进阶学习之python装饰器小结

    python 进阶学习之python装饰器小结

    这篇文章主要介绍了python 进阶学习之python装饰器小结,本文通过场景分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析

    Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析

    这篇文章主要介绍了Python动态导入模块:__import__、importlib、动态导入的使用场景,结合实例形式分析了Python动态导入模块__import__、importlib基本概念、原理及动态导入的具体应用操作技巧,需要的朋友可以参考下
    2020-03-03
  • Python中用startswith()函数判断字符串开头的教程

    Python中用startswith()函数判断字符串开头的教程

    这篇文章主要介绍了Python中用startswith()函数判断字符串开头的教程,startswith()函数的使用是Python学习中的基础知识,本文列举了一些不同情况下的使用结果,需要的朋友可以参考下
    2015-04-04
  • python 运算符 供重载参考

    python 运算符 供重载参考

    二元运算符及其对应的特殊方法
    2009-06-06

最新评论