domovoy_bot/scraper_gis/check_state.py

37 lines
1.4 KiB
Python

from playwright.sync_api import sync_playwright
import json, time
def run():
try:
with sync_playwright() as p:
# Пытаемся зайти в тот же профиль.
# Если браузер УЖЕ открыт, Playwright может выдать ошибку или открыть второе окно.
browser = p.chromium.launch_persistent_context(
user_data_dir='/app/browser_context',
headless=True
)
page = browser.pages[0]
# Ждем прогрузки, если вдруг открылась новая пустая страница
if 'about:blank' in page.url:
page.goto('https://my.dom.gosuslugi.ru/citizen-cabinet/#!/Pafo/Home')
page.wait_for_load_state('networkidle')
print(f'STATUS: URL is {page.url}')
page.screenshot(path='/app/current_state.png', full_page=True)
# Ищем конкретные ссылки
links = []
for a in page.query_selector_all('a'):
text = a.inner_text().strip()
if text: links.append(text)
with open('/app/links.json', 'w') as f:
json.dump(links, f)
browser.close()
except Exception as e:
print(f'ERROR: {str(e)}')
if __name__ == '__main__':
run()