如何与剧作家一起下载PDF文件?(Python)

2024-05-16 22:11:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Playwrgith自动下载PDF文件,但Playwright中的一些功能引起了我的注意。真正的问题the documentation 这没用。当我点击donwload时,我得到了这样的信息:
enter image description here

而且我不能更改下载目录,它还会在浏览器/上下文关闭时删除“文件”。使用Playwright我可以实现很好的下载自动化吗

代码:

def run(playwright):
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context(accept_downloads=True)

    # Open new page
    page = context.new_page()

    # Go to http://xcal1.vodafone.co.uk/
    page.goto("http://xcal1.vodafone.co.uk/")

    # Click text=Extra Small File 5 MB A high quality 5 minute MP3 music file 30secs @ 2 Mbps 10s >> img
    with page.expect_download() as download_info:
        page.click("text=Extra Small File 5 MB A high quality 5 minute MP3 music file 30secs @ 2 Mbps 10s >> img")
    download = download_info.value
    path = download.path()
    download.save_as(path)
    print(path)

    # ---------------------
    context.close()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)

Tags: 文件pathrunbrowserhttpnewdownloadas
1条回答
网友
1楼 · 发布于 2024-05-16 22:11:46

playwright中的download.path()只是一个随机GUID(全局唯一标识符)。它的目的是验证下载的效果,而不是保存文件

Playwright是一个测试工具,想象一下在每次代码更改时在每个主要浏览器上运行测试——任何下载都会很快占用大量空间,如果您需要手动清除这些代码,它会将用户砍掉

好消息是您非常接近—如果您想保留该文件,只需在save_as中为该文件指定一个名称即可

与此相反:

   download.save_as(path)

使用以下命令:

   download.save_as(download.suggested_filename)

将文件保存在与脚本相同的位置

相关问题 更多 >