首页 > 编程语言 >python+playwright 学习-21.文件上传-优雅处理

python+playwright 学习-21.文件上传-优雅处理

时间:2023-03-03 12:33:31浏览次数:46  
标签:files playwright 21 python Upload set file input page

前言

如果你之前用过selenium,肯定遇到过文件上传头疼的事,有些控件是input输入框,可以直接传本地文件地址,然而有些需要弹出本地文件选择器的时候就不好处理了。
playwright 控件优雅的处理了文件上传操作,在这里一切都变得如此简单了。

文件上传

您可以使用locator.set_input_files()方法选择要上传的输入文件。它期望第一个参数指向类型为 的输入元素"file"。
数组中可以传递多个文件。如果某些文件路径是相对的,则它们将相对于当前工作目录进行解析。空数组清除所选文件。

# Select one file
page.get_by_label("Upload file").set_input_files('myfile.pdf')

# Select multiple files
page.get_by_label("Upload files").set_input_files(['file1.txt', 'file2.txt'])

# Remove all the selected files
page.get_by_label("Upload file").set_input_files([])

# Upload buffer from memory
page.get_by_label("Upload file").set_input_files(
    files=[
        {"name": "test.txt", "mimeType": "text/plain", "buffer": b"this is a test"}
    ],
)

如果您手头没有输入元素(它是动态创建的),您可以处理 page.on("filechooser") 事件或在您的操作中使用相应的等待方法:

with page.expect_file_chooser() as fc_info:
    page.get_by_label("Upload file").click()
file_chooser = fc_info.value
file_chooser.set_files("myfile.pdf")

标签:files,playwright,21,python,Upload,set,file,input,page
From: https://www.cnblogs.com/yoyoketang/p/17175183.html

相关文章

  • 简单介绍Python中如何给字典设置默认值
    这篇文章主要介绍了Python中如何给字典设置默认值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教Python字典设置默认值我们都......
  • python中的__name__变量
    一、__name__1.1这个__name__拿来做什么的?__name__是一个特别的变量,当我们与模块交互时使用,可以让我们区分哪些模块(常指:包和库)导入或者不导入。1.2 这个__name__......
  • python初始化类出现takes no arguments
    初始化类的时候出现了takesnoarguments一般这种问题都是因为初始化函数的问题,例如definit(self):defint(self,name):definit_(self,name):def__init(self,name......
  • Python爬虫之用Selenium做爬虫
    我们在用python做爬虫的时候,除了直接用requests的架构,还有Scrapy、Selenium等方式可以使用,那么今天我们就来聊一聊使用Selenium如何实现爬虫。Selenium是什么?Selenium是......
  • 轻量级CI/CD发布部署环境搭建及使用_05_安装宿主机环境(jdk、nodejs、maven、python2)
    轻量级CI/CD发布部署环境搭建及使用_05_安装宿主机环境(jdk、nodejs、maven、python2)尽自己的绵薄之力,为开源技术分享添砖加瓦本篇幅较多,请按步骤实验安装,截图中涉及的......
  • 180207 python tqdm进度条的使用
    ​​python的Tqdm模块​CodeOnefromtqdmimporttqdmfromtimeimportsleepforiintqdm(range(1000)):sleep(0.1)passCodeTwofromtqdmimporttqdmfrom......
  • python+playwright 学习-20.文件下载expect_download()
    前言文件下载操作expect_download()当浏览器上下文关闭时,所有属于浏览器上下文的下载文件都会被删除。下载开始后会发出下载事件。下载完成后,下载路径可用:withpage.e......
  • python+playwright 学习-19.监听dialog事件-优雅处理对话框
    前言网页上的alert弹出框你不知道什么时候弹出来,selenium处理alert弹出框的方式是先判断有没alert再处理,并且只能处理这一次。playwright框架可以监听dialog事件,不管......
  • Python爬虫之Scrapy制作爬虫
    前几天我有用过Scrapy架构编写了一篇爬虫的代码案例深受各位朋友们喜欢,今天趁着热乎在上一篇有关Scrapy制作的爬虫代码,相信有些基础的程序员应该能看的懂,很简单,废话不多说......
  • Python数据存储
    在运算过程中,得到的经验和模型都是算法的重要结果。直接把数据输入到对应的地方保证了各个模块之间的隔离。numpy数组保存numpy的强大之处有目共睹.npynumpy.save("f......