Javascript 从php url获取可下载二进制文件的文件名,而不实际下载该文件

Javascript 从php url获取可下载二进制文件的文件名,而不实际下载该文件,javascript,php,python,selenium,web-scraping,Javascript,Php,Python,Selenium,Web Scraping,我正在用Python中的Selenium做一些Web垃圾处理,我在一个页面上有一个链接,指向 <a href="/zip.php?zipid=103">Click Here To Download</a> 当然,现在如果我点击它,我的浏览器将立即开始下载文件,例如myinterestingarchive.zip 我想知道的是,我是否可以注入一些JavaScript,比如说,它会告诉我文件名myinterestingarchive.zip,而不必单击链接,因为我想在程

我正在用Python中的Selenium做一些Web垃圾处理,我在一个页面上有一个链接,指向

<a href="/zip.php?zipid=103">Click Here To Download</a>

当然,现在如果我点击它,我的浏览器将立即开始下载文件,例如
myinterestingarchive.zip


我想知道的是,我是否可以注入一些JavaScript,比如说,它会告诉我文件名
myinterestingarchive.zip
,而不必单击链接,因为我想在程序日志中记录文件名,而它不在源代码或OuterHTML中,只要那个php url。

如果它支持只下载http头的
HEAD
请求,您就可以这样做

import requests

......
# set the request with selenium cookies
cookies = {c['name']: c['value'] for c in driver.get_cookies()}
response = requests.head('http://....../zip.php?zipid=103', cookies=cookies )
print(response.headers['Content-Disposition'])
# attachment; filename=zip/myinterestingarchive.zip

是的,您可以使用注入的JavaScript实现这一点,但是使用
请求更简单,在该URL中没有文件名“myinterestingarchive.zip”,只有它的id,在服务器端被识别为“myinterestingarchive.zip”。您可以尝试使用head-type AJAX调用获取文件名..?我使用Selenium的原因是该站点需要登录,我无法确定cookies是如何工作的,但这似乎是最终尝试
requestium
的最佳时机。我添加了如何在
请求中使用Selenium cookies的代码