from playwright.sync_api import sync_playwright import time, os 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] # Находим первую ссылку и кликаем link = page.query_selector('a[href*="appeals/view/"]') if link: num = link.inner_text().strip() print(f'Clicking appeal: {num}') link.click() # Ждем появления кнопки Скачать все print('Waiting for Download All button...') page.wait_for_selector('button:has-text("Скачать все")', timeout=60000) # Кликаем и ждем загрузку with page.expect_download(timeout=120000) as download_info: page.get_by_text('Скачать все').first.click() download = download_info.value path = f'/app/downloads/harvested_file.zip' download.save_as(path) print(f'SUCCESS: Downloaded to {path}') else: print('No appeal links found on page!') browser.close() except Exception as e: print(f'ERROR: {e}') if __name__ == '__main__': if not os.path.exists('/app/downloads'): os.makedirs('/app/downloads') run()