下载用splinter点击后生成的文件

Download file generated after click with splinter

我想从带有 splinter 的网站下载文件,该文件是在单击按钮后生成并由随机 URL 提供的。点击按钮会出现浏览器的文件保存对话框。

我可以通过

找到并点击按钮
exportButton = browser.find_by_id("exportButton")
exportButton.click()

但是如何以特定名称保存文件?

因为URL是随机的,页面源码中没有,而且Button是触发JS的按钮而不是link,splinter下载文件的方法是发送带有 URL 的请求并处理响应不起作用。我无法提供 URL。单击可能向响应文件的服务器发送 Ajax 请求的按钮是获取它的唯一方法。我在无头模式下使用 Chrome 网络驱动程序。

所以我不知道有什么方法可以在下载前更改名称。但是我已经能够自动下载文件然后更改文件名了。

import splinter
from selenium import webdriver
from shutil import copyfile
options = webdriver.ChromeOptions()
prefs = {
    "download.default_directory" : "C:/Users/joshuaclew/Downloads/",
    "download.directory_upgrade": "true",
    "download.prompt_for_download": "false",
    "disable-popup-blocking": "true"

}
chrome_options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", prefs)
chrome_options.add_argument("--disable-infobars")
browser = splinter.Browser('chrome', options=chrome_options)
browser.driver.maximize_window()
browser.visit('http://www.someurlhere.com')
exportButton = browser.find_by_id("exportButton")
exportButton.click()
download_path = 'C:/Users/joshuaclew/Downloads/'
old_file_name = download_path+'old_file_name'
new_file_name = download_path+'new_file_name'
copyfile(old_file_name, new_file_name)