import sys, time, json, urllib.request
sys.path.insert(0, "/tmp/amdwork")
import cdp
def targets():
    return [t for t in json.loads(urllib.request.urlopen("http://localhost:9223/json",timeout=10).read()) if t.get("type")=="page"]
pm=None
for t in targets():
    if "/pm/app/" in (t.get("url") or ""): pm=t; break
p=cdp.attach(pm); p.enable()
print("url:", p.eval("location.href"))
# dump menu items / nav links containing 'report'
nav=p.eval("""(function(){
  var hits=[];
  document.querySelectorAll('a,button,[role=menuitem],[class*=menu],[class*=nav],span,li').forEach(function(e){
    var s=(e.innerText||e.textContent||'').trim();
    if(s && /report/i.test(s) && s.length<60) hits.push({tag:e.tagName, txt:s, id:e.id, cls:(e.className||'').toString().slice(0,40)});
  });
  // dedupe by txt
  var seen={}; var out=[];
  hits.forEach(function(h){ if(!seen[h.txt]){seen[h.txt]=1; out.push(h);} });
  return JSON.stringify(out.slice(0,30));
})()""")
print("REPORT NAV:", nav)
# Also dump top-level menu labels
menus=p.eval("""(function(){
  var out=[];
  document.querySelectorAll('[class*=menu] a,[class*=menu] span,[class*=ribbon] *,nav a,.nav-item').forEach(function(e){
    var s=(e.innerText||'').trim(); if(s&&s.length<30) out.push(s);
  });
  var seen={};var u=[];out.forEach(function(s){if(!seen[s]){seen[s]=1;u.push(s);}});
  return JSON.stringify(u.slice(0,40));
})()""")
print("MENUS:", menus)
print("DONE")
p.close()
