| 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 : /tmp/ |
Upload File : |
from playwright.sync_api import sync_playwright
def run(pw, w, h, label):
b=pw.chromium.launch(headless=True,args=['--no-sandbox'])
pg=b.new_context(viewport={'width':w,'height':h}).new_page()
errs=[]; pg.on('pageerror',lambda e:errs.append(str(e)))
pg.goto('https://seaside.pacim.de/umfrage.php',wait_until='networkidle'); pg.wait_for_timeout(400)
pg.screenshot(path='/tmp/umf_%s_1.png'%label)
# step1: 5 stars
pg.click('.pas-stars[data-rating="overall"] .pas-star[data-v="5"]')
print(label,'next enabled after 5 stars:', not pg.eval_on_selector('[data-step="1"] [data-next]','e=>e.disabled'))
pg.click('[data-step="1"] [data-next]'); pg.wait_for_timeout(400)
# step2 aspects
for g in ['booking','parking','service','staff','price']:
pg.click('.pas-stars[data-rating="%s"] .pas-star[data-v="5"]'%g)
pg.click('[data-step="2"] [data-next]'); pg.wait_for_timeout(400)
pg.screenshot(path='/tmp/umf_%s_step3.png'%label)
# step3 recommend yes + submit
pg.click('.pas-choice .pas-chip[data-v="1"]')
pg.fill('#pasComment','Top Service, gerne wieder!')
pg.click('#pasSubmit'); pg.wait_for_timeout(500)
good_visible = pg.is_visible('#pasGood')
ghref = pg.eval_on_selector('#pasGoogle','e=>e.href')
print(label,'GOOD result visible:', good_visible, '| google href set:', 'maps' in ghref or 'writereview' in ghref)
pg.screenshot(path='/tmp/umf_%s_good.png'%label)
print(label,'JS errors:', errs)
b.close()
with sync_playwright() as pw:
run(pw,560,900,'desktop')
# low-rating path on mobile
b=pw.chromium.launch(headless=True,args=['--no-sandbox'])
pg=b.new_context(viewport={'width':390,'height':780}).new_page()
pg.goto('https://seaside.pacim.de/umfrage.php',wait_until='networkidle'); pg.wait_for_timeout(300)
pg.screenshot(path='/tmp/umf_mobile_1.png')
pg.click('.pas-stars[data-rating="overall"] .pas-star[data-v="2"]')
pg.click('[data-step="1"] [data-next]'); pg.wait_for_timeout(300)
pg.click('[data-step="2"] [data-next]'); pg.wait_for_timeout(300)
pg.click('.pas-choice .pas-chip[data-v="0"]')
pg.click('#pasSubmit'); pg.wait_for_timeout(400)
print('mobile LOW -> improve visible:', pg.is_visible('#pasImprove'),'| good visible:', pg.is_visible('#pasGood'))
pg.screenshot(path='/tmp/umf_mobile_improve.png')
b.close()
print('done')