from playwright.sync_api import sync_playwright
from pathlib import Path
base='http://127.0.0.1:8652/cockpit?days=2&sort=relevance'
with sync_playwright() as p:
browser=p.chromium.launch(headless=True, executable_path='/opt/struktur/social-media-agent/.playwright-browsers/chromium-1223/chrome-linux64/chrome')
page=browser.new_page(viewport={'width':1440,'height':1000})
page.goto(base, wait_until='networkidle')
out=[]
def snap(label):
active=page.locator('a.f.on-s').all_text_contents()
cards=page.locator('.sig').count()
out.append((label,page.url,active,cards))
snap('start')
page.locator('a[data-platform-filter="linkedin"]').click(); page.wait_for_load_state('networkidle'); snap('li_on')
page.locator('a[data-platform-filter="linkedin"]').click(); page.wait_for_load_state('networkidle'); snap('li_off')
page.locator('a[data-platform-filter="facebook"]').click(); page.wait_for_load_state('networkidle'); snap('fb_on')
page.locator('a[data-platform-filter="linkedin"]').click(); page.wait_for_load_state('networkidle'); snap('fb_to_li')
page.screenshot(path='/opt/struktur/reports/aa020_li_toggle.png', full_page=True)
print(out)
assert 'sort=linkedin' in out[1][1] and out[1][2]==['LI · Filter']
assert 'sort=relevance' in out[2][1] and out[2][2]==['Score ↓']
assert 'sort=facebook' in out[3][1] and out[3][2]==['FB · Filter']
assert 'sort=linkedin' in out[4][1] and out[4][2]==['LI · Filter']
browser.close()