Files
HM_project_Viewer_Board/scripts/click_left_search_button_9225.py

28 lines
1.3 KiB
Python

import json
import os
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_experimental_option("debuggerAddress", os.environ.get("WEHAGO_CHROME_DEBUGGER_ADDRESS", "127.0.0.1:9225"))
driver = webdriver.Chrome(options=options)
for typ in ["mouseMoved", "mousePressed", "mouseReleased"]:
driver.execute_cdp_cmd(
"Input.dispatchMouseEvent",
{"type": typ, "x": 130, "y": 188, "button": "left" if typ != "mouseMoved" else "none", "clickCount": 1},
)
time.sleep(0.8)
items = driver.execute_script(
r"""
return Array.from(document.querySelectorAll('input,button,[role=button],a,div')).map(el=>{
const r=el.getBoundingClientRect(); const st=getComputedStyle(el);
return {tag:el.tagName,id:el.id||'',cls:String(el.className||'').slice(0,80),text:(el.textContent||'').trim().slice(0,80),value:el.value||'',placeholder:el.getAttribute('placeholder')||'',title:el.getAttribute('title')||'',left:Math.round(r.left),top:Math.round(r.top),width:Math.round(r.width),height:Math.round(r.height),display:st.display,vis:st.visibility};
}).filter(x=>x.width>0&&x.height>0&&x.display!=='none'&&x.vis!=='hidden'&&x.top<400&&x.left<700).sort((a,b)=>(a.top-b.top)||(a.left-b.left)).slice(0,200);
"""
)
print(json.dumps(items, ensure_ascii=False, indent=2))
driver.quit()