gpt4 book ai didi

node.js - 编剧:从不能使用 page.setInputFiles 的非输入元素上传文件?

转载 作者:行者123 更新时间:2023-12-04 08:07:57 26 4
gpt4 key购买 nike

我正在通过 Playwright 上的非输入 HTML 标签上传文件。
例如,您可以使用 setInputFiles像这样,这有效:

await page.setInputFiles('input[type="file"]', './headphone.png')
但显然 setInputFiles仅适用于输入元素,这样的事情会出错:
await page.setInputFiles('label.ImageUpload__label ', './headphone.png');
我正在处理的 HTML 是这样的:
<div id="ImageUpload" class="ImageUpload u-marginB10">
<label class="ImageUpload__label js-dragdrop-area" for="selectFileMultiple">
<span class="ImageUpload__hide">drag and drop or select files</span>
<span class="ImageUpload__text"><span class="js-dragdrop-num">10</span>up to</span>
</label>
</div>
那么,是否可以使用 Playwright 将文件上传到此类 HTML 元素?

最佳答案

NodeJs:https://playwright.dev/python/docs/api/class-filechooser

        page.on("filechooser", (fileChooser: FileChooser) => {
fileChooser.setFiles(["/path/to/a/file"]);
})
python : https://playwright.dev/python/docs/api/class-filechooser/
with page.expect_file_chooser() as fc_info:
page.click("upload")
file_chooser = fc_info.value
file_chooser.set_files("/path/to/a/file")
java : https://playwright.dev/java/docs/api/class-filechooser
FileChooser fileChooser = page.waitForFileChooser(() -> 
page.click("upload"));
fileChooser.setFiles(Paths.get("myfile.pdf"));

关于node.js - 编剧:从不能使用 page.setInputFiles 的非输入元素上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66132097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com