gpt4 book ai didi

python - 使用 Selenium 与 Python 和 PhantomJS 将文件下载到文件系统

转载 作者:IT老高 更新时间:2023-10-28 20:46:08 26 4
gpt4 key购买 nike

我一直在努力使用 PhantomJS/Selenium/python-selenium 将文件下载到文件系统。我能够轻松地浏览 DOM 并单击、悬停等。但是,事实证明,下载文件非常麻烦。我已经尝试过使用 Firefox 和 pyvirtualdisplay 的 headless 方法,但这也不是很好,而且速度慢得令人难以置信。我知道 CasperJS 允许文件下载。有谁知道如何将 CasperJS 与 Python 集成或如何利用 PhantomJS 下载文件。非常感谢。

最佳答案

尽管这个问题已经很老了,但通过 PhantomJS 下载文件仍然是一个问题。但是我们可以使用 PhantomJS 来获取下载链接并获取所有需要的 cookie,例如 csrf token 等。然后我们就可以使用requests来实际下载了:

import requests
from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get('page_with_download_link')
download_link = driver.find_element_by_id('download_link')
session = requests.Session()
cookies = driver.get_cookies()

for cookie in cookies:
session.cookies.set(cookie['name'], cookie['value'])
response = session.get(download_link)

现在应该在 response.content 中出现实际的文件内容。接下来我们可以用 open 编写它或者做任何我们想做的事情。

关于python - 使用 Selenium 与 Python 和 PhantomJS 将文件下载到文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com