当文件的WebElements中的href值是同一文件夹的路径时,如何下载文件



我尝试自动下载几对文本文件。手动操作,点击以下2个元素定义的按钮即可下载。

<a class="btn ...." href="/..../...../....../..../download" data-value="ext1">Download (.ext1) file</a>
<a class="btn ...." href="/..../...../....../..../download" data-value="ext2">Download (.ext2) file</a>

请注意,href的两个值是相同的,它是文件夹的路径。

使用Selenium,我通过找到2个FirefoxWebElements

elem1=driver.find_elements_by_link_text("Download (.ext1) file")
elem2=driver.find_elements_by_link_text("Download (.ext2) file")

我可以通过以下方式下载这两个文件elem1.send_keys(Keys.ENTER)和CCD_ 2,然后我必须在下载文件夹中找到这两个文件,并将它们移动到目标文件夹。请注意,我不知道这些文件的名称。

我更愿意通过请求将它们直接放在具有适当名称的目标文件夹中来完成此操作。

url1=elem1.get_attribute('href')
r = requests.get(url1, allow_redirects=True)
open(destination1, 'wb').write(r.content)

url2=elem2.get_attribute('href')
r = requests.get(url2, allow_redirects=True)
open(destination2, 'wb').write(r.content)

但在这两种情况下,我都得到了相同的文件(第一个(,因为href值相同。

是否可以将这两个文件直接下载到它们的目标文件夹?(可能是requests.get或其他方式的附加参数?(

单击下载按钮时,您可以尝试跟踪浏览器上的网络选项卡,并查看发送的请求类型。也许该请求具有";ext1";或";ext2";在有效负载中,或者在文件之间进行分离。在python 中发送GET请求的有效负载

最新更新