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

#python #selenium #url #download #python-requests

#python #selenium #url #Скачать #python-запросы

Вопрос:

У меня есть разрешение на загрузку некоторых данных о погоде со следующего веб-сайта:

https://www.meteobridel.com/messnetz/index3.php#

Мне было интересно, есть ли возможность автоматически найти URL-адрес загрузки за кнопкой «CSV», а затем загрузить этот CSV-файл с помощью Python.

Я пробовал это, но это не сработало:

 from selenium import webdriver

browser = webdriver.Safari()
url = 'https://meteobridel.lu/?page_id=5'
browser.get(url)

browser.find_element_by_xpath('//*[@id="CSV"]').click()
browser.close()
 

Уже спасибо!

Ответ №1:

Попробуйте

 from selenium import webdriver

browser = webdriver.Safari()
url = 'https://meteobridel.lu/?page_id=5'
browser.get(url)

browser.find_element_by_xpath('//body/div[@id='main']/div[1]/div[1]/div[1]/a[4]').click()
browser.close()
 

Ответ №2:

Проверяя предоставленную вами страницу, я не могу найти «CSV»-ID. Может быть, попробуйте получить кнопку по классу:

 browser.find_element_by_xpath(r"//a[contains(@class, 'buttons-csv')]").click()
 

Ответ №3:

элемент находится внутри iframe, поэтому сначала вам нужно переключиться на него, так как идентификатор фрейма уникален, вы можете переключаться следующим образом

 browser.switch_to.frame("iframe")

browser.find_element_by_xpath('//span[contains(text(),"CSV")]/..').click()