如何在 Python 中使用 Selenium 从 Blob URL 下载 CSV 文件?

问题描述 投票:0回答:1

我正在尝试使用 Selenium 和 Python 自动从动态网站上的 Blob URL 下载 CSV 文件。 CSV 下载是通过单击按钮触发的,但单击按钮会生成 Blob URL,无法通过传统 HTTP 请求直接访问该 URL。我无法从此 Blob URL 捕获和下载文件。

以下是网址示例:https://snapshot.org/#/aave.eth/proposal/0x70dfd865b78c4c391e2b0729b907d152e6e8a0da683416d617d8f84782036349

enter image description here

这是我从下载历史记录中查看时的链接:

斑点:https://snapshot.org/4b2f45e9-8ca3-4105-b142-e1877e420c84

我也检查了这篇文章Python: How to download a blob url video?其中说我无法下载它,我认为这没有意义,因为当我手动打开网页时,我可以单击下载按钮并获取文件。

python selenium-webdriver selenium-chromedriver blob
1个回答
0
投票

我不知道你想做什么(因为你没有显示你的代码)但这对我有用

driver.find_elements(By.XPATH, '//button')[10].click()

但可能需要更好的方法来找到正确的按钮(而不是

[10]
)。


完整的工作代码

from selenium import webdriver
from selenium.webdriver.common.by import By
#import undetected_chromedriver as uc

import time

# ---

#import selenium
#print('Selenium:', selenium.__version__)

# ---

url = 'https://snapshot.org/#/aave.eth/proposal/0x70dfd865b78c4c391e2b0729b907d152e6e8a0da683416d617d8f84782036349'

#driver = webdriver.Chrome()
driver = webdriver.Firefox()  # the newest Selenium will automatically download driver - so it doesn't need `service=`
#driver = uc.Chrome()

driver.get(url)

# ---

time.sleep(3)

all_buttons = driver.find_elements(By.XPATH, '//button')
all_buttons[10].click() 
        
input('Press ENTER to exit')
© www.soinside.com 2019 - 2024. All rights reserved.