| Server IP : 202.61.199.114 / Your IP : 216.73.217.139 Web Server : nginx/1.22.1 System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web20 ( 1018) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/tmp/ |
Upload File : |
from playwright.sync_api import sync_playwright
def cookies():
cs=[]
for line in open('/tmp/cj_day.txt'):
if line.startswith('#') or not line.strip(): continue
p=line.strip().split('\t')
if len(p)>=7: cs.append({'name':p[5],'value':p[6],'domain':p[0].lstrip('.'),'path':p[2]})
return cs
with sync_playwright() as pw:
b=pw.chromium.launch(); ctx=b.new_context(viewport={'width':1100,'height':900}); ctx.add_cookies(cookies())
pg=ctx.new_page()
# (1) CRM Notizen-Header-Icon
pg.goto('https://seaside.pacim.de/booking/view/?invoice_id=123075', wait_until='networkidle')
pg.click('[data-bs-target="#bk-notes"]'); pg.wait_for_timeout(900)
hdr=pg.query_selector('.bknote-block .card-header')
print('header has svg:', bool(hdr.query_selector('svg')), '| has tofu i.material-icons:', bool(hdr.query_selector('i.material-icons')))
hdr.scroll_into_view_if_needed(); hdr.screenshot(path='/tmp/notes_header.png')
# (2) Spinner im Medien-Tab mit Drosselung
cdp=ctx.new_cdp_session(pg)
cdp.send('Network.enable')
cdp.send('Network.emulateNetworkConditions', {'offline':False,'latency':400,'downloadThroughput':40000,'uploadThroughput':40000})
pg.goto('https://seaside.pacim.de/index.php?getTemplate=tasks/day&date=2026-06-26&show=media', wait_until='domcontentloaded')
pg.wait_for_selector('.bkimg-thumb-day', timeout=8000)
pg.click('.bkimg-thumb-day')
pg.wait_for_timeout(150)
print('spinner present:', bool(pg.query_selector('.bkimg-lb-spin')))
print('spinner .on right after open:', pg.eval_on_selector('.bkimg-lb-spin','e=>e.classList.contains("on")') if pg.query_selector('.bkimg-lb-spin') else None)
pg.screenshot(path='/tmp/spinner.png')
pg.wait_for_timeout(2500)
print('spinner .on after load:', pg.eval_on_selector('.bkimg-lb-spin','e=>e.classList.contains("on")'))
b.close()