@NikoBuch

Как с помощью selenium скачать файл из браузера, со страницы сайта, используя язык программирования Python?

Как с помощью selenium скачать файл из браузера, используя язык программирования Python?
Добрый день, у меня возник вопрос по скачиванию файла (документа) из браузера
Пример таков:
1. есть сайт: https://demoqa.com/upload-download.
2. необходимо с помощью написания автотеста (используя python) скачать файл (кнопка downloads)
3. Мои действия:
-открыть сайт: driver.get(https://demoqa.com/upload-download)
-найти кнопку dowloads: element = find_presence_element(locator=(By.XPATH, //*[text() = 'downloads']))
-получить значение атрибута "href": element.get_attribute("href")
Я получаю ссылку, но потом я не понимаю как с помощью нее получить файл, как и где ее надо использовать в дальнейшем для получения файла. Или я не направильном пути? Спасибо.
  • Вопрос задан
  • 316 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Didntread
файл закодирован в самой ссылке, скачивать его не нужно, а нужно раскодировать base64
Ответ написан
Комментировать
@Shiro-to
возможно поможет это

Для скачивания файла из браузера с использованием Selenium в Python, вы можете использовать модуль requests для отправки запроса на получение файла и сохранения его на диск. Вот примерный алгоритм:

1.Получите ссылку на файл с помощью> element.get_attribute("href"), как вы уже сделали.
2.Импортируйте модульrequests: import requests.
3.Отправьте GET-запрос на получение файла: response = requests.get(file_url).
4.Убедитесь, что запрос был успешным:response.raise_for_status()
5.Сохраните файл на диск:
with open('file_name.extension', 'wb') as file: file.write(response.content)



Вот полный пример кода:
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By

# Инициализация драйвера Selenium
driver = webdriver.Chrome()

# Открытие сайта
driver.get('https://demoqa.com/upload-download')

# Нахождение кнопки "downloads"
element = driver.find_element(By.XPATH, '//*[text()="downloads"]')

# Получение ссылки на файл
file_url = element.get_attribute("href")

# Отправка GET-запроса на получение файла
response = requests.get(file_url)
response.raise_for_status()

# Сохранение файла на диск
with open('file_name.extension', 'wb') as file:
    file.write(response.content)

# Закрытие драйвера Selenium
driver.quit()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы