pyppeteer文件下载

须要pyppeteer下载文件,网上没什么资料,本身摸索了下。less

def check_file(path):#利用文件下载以后,是否存在这个文件来判断下载是否成功,
    while not bool(os.listdir('C:/' + path)):
        pass
    return bool(os.listdir('C:/' + path))


async def main():
    browser = await launch({
        'headless': False,
    })
    file_path = '/tmp/文件名' #文件存储路径,也要用来检测是否下载成功,建议独一无二的下载路径,防止起冲突
    page = await browser.newPage()
    cdp = await page.target.createCDPSession()
    await cdp.send('Page.setDownloadBehavior', {'behavior': 'allow', 'downloadPath': file_path})#设置下载路径
    try:
        await page.goto('文件下载路径')#这一块主要打开文件下载url会让页面关闭,加了try
    except:
        pass
    await asyncio.sleep(5)
    print('下载完毕') if check_file(file_path) else print("下载失败") 
    await browser.close()


asyncio.get_event_loop().run_until_complete(main())
相关文章
相关标签/搜索