45 lines
2 KiB
Text
45 lines
2 KiB
Text
|
|
import asyncio
|
||
|
|
from playwright.async_api import async_playwright
|
||
|
|
|
||
|
|
async def main():
|
||
|
|
async with async_playwright() as p:
|
||
|
|
browser = await p.chromium.launch(headless=True)
|
||
|
|
page = await browser.new_page()
|
||
|
|
print("🔍 Går til Tjøme Golfklubb...")
|
||
|
|
await page.goto('https://tjomegolfklubb.no/', wait_until="domcontentloaded")
|
||
|
|
await asyncio.sleep(3)
|
||
|
|
|
||
|
|
btn_count = await page.locator("a:has-text('Banestatus')").count()
|
||
|
|
print(f"🤖 Fant {btn_count} lenker med teksten 'Banestatus'.")
|
||
|
|
|
||
|
|
try:
|
||
|
|
# Tvinger roboten til å velge den knappen som faktisk er SYNLIG på skjermen
|
||
|
|
btn = page.locator("a:has-text('Banestatus'):visible").first
|
||
|
|
await btn.click(timeout=5000)
|
||
|
|
print("🖱️ Klikket på den synlige Banestatus-knappen!")
|
||
|
|
await asyncio.sleep(2)
|
||
|
|
except Exception as e:
|
||
|
|
print(f"⚠️ Klarte ikke klikke: {str(e).splitlines()[0]}")
|
||
|
|
|
||
|
|
# Henter ut både synlig tekst og "skjult" tekst i koden
|
||
|
|
synlig_tekst = await page.locator("body").inner_text()
|
||
|
|
all_tekst = await page.locator("body").text_content()
|
||
|
|
|
||
|
|
print("\n--- RESULTAT ---")
|
||
|
|
if "stengt" in synlig_tekst.lower():
|
||
|
|
print("✅ Suksess! Fant ordet 'stengt' i den SYNLIGE teksten.")
|
||
|
|
elif "stengt" in all_tekst.lower():
|
||
|
|
print("🫣 Fant ordet 'stengt' gjemt i HTML-koden (Panelet åpnet seg ikke skikkelig for roboten).")
|
||
|
|
idx = all_tekst.lower().find("stengt")
|
||
|
|
# Fjerner linjeskift for penere utskrift
|
||
|
|
utdrag = all_tekst[max(0, idx-30):idx+80].replace('\n', ' ')
|
||
|
|
print(f" Tekstutdrag: '...{utdrag}...'")
|
||
|
|
else:
|
||
|
|
print("❌ Fant verken 'stengt' eller 'åpen' på hele siden.")
|
||
|
|
print(f" (Teksten den leste startet slik: {synlig_tekst[:80].replace(chr(10), ' ')}...)")
|
||
|
|
print("----------------\n")
|
||
|
|
|
||
|
|
await browser.close()
|
||
|
|
|
||
|
|
asyncio.run(main())
|