domovoy_bot/scraper_gis/click_download.py

34 lines
1.3 KiB
Python

from playwright.sync_api import sync_playwright
import time
def run():
with sync_playwright() as p:
try:
browser = p.chromium.connect_over_cdp('http://127.0.0.1:9222')
page = browser.contexts[0].pages[0]
print(f'Currently at: {page.url}')
# Скроллим вниз, чтобы кнопка стала видимой/активной
page.evaluate('window.scrollTo(0, document.body.scrollHeight)')
time.sleep(2)
# Ищем кнопку по тексту
btn = page.get_by_text('Скачать все').first
if btn.is_visible():
print('Download button found! Clicking...')
with page.expect_download(timeout=120000) as download_info:
btn.click()
download = download_info.value
path = f'/app/downloads/harvested_appeal_73-2026-14124.zip'
download.save_as(path)
print(f'SUCCESS: Saved to {path}')
else:
print('Download button NOT VISIBLE. Dumping text...')
print(page.content()[-2000:]) # Дампим конец страницы
browser.close()
except Exception as e:
print(f'ERROR: {e}')
if __name__ == '__main__':
run()