debug: gradual mouse movement + JS event dispatch + element hit info
This commit is contained in:
parent
ad0a0d07b2
commit
9580a94e25
@ -129,9 +129,31 @@ class Resolver:
|
||||
if not strategy:
|
||||
print(f" '{display_name}' nicht im sichtbaren Chat gefunden.")
|
||||
return None
|
||||
print(f" '{display_name}' via '{strategy}' bei {bbox} — warte auf Karte...")
|
||||
x = bbox.get('x', 0) + bbox.get('w', bbox.get('width', 32)) / 2 if isinstance(bbox, dict) else 0
|
||||
y = bbox.get('y', 0) + bbox.get('h', bbox.get('height', 32)) / 2 if isinstance(bbox, dict) else 0
|
||||
print(f" '{display_name}' via '{strategy}' → Viewport ({x:.0f}, {y:.0f}) — warte auf Karte...")
|
||||
|
||||
# Screenshot right after hover for debugging
|
||||
# Approach 1: gradual mouse movement (simulate human)
|
||||
self._page.mouse.move(x - 50, y, steps=5)
|
||||
time.sleep(0.1)
|
||||
self._page.mouse.move(x, y, steps=10)
|
||||
time.sleep(0.3)
|
||||
|
||||
# Approach 2: dispatch pointer/mouse events directly on element at that position
|
||||
hit_info = self._page.evaluate(f"""() => {{
|
||||
const el = document.elementFromPoint({x}, {y});
|
||||
if (!el) return 'no element at position';
|
||||
['pointerover','pointerenter','mouseover','mouseenter','pointermove','mousemove'].forEach(t => {{
|
||||
el.dispatchEvent(new MouseEvent(t, {{
|
||||
bubbles: true, cancelable: true, view: window,
|
||||
clientX: {x}, clientY: {y}
|
||||
}}));
|
||||
}});
|
||||
return el.tagName + '[' + (el.getAttribute('data-tid')||'') + '] ' + el.className.substring(0,60);
|
||||
}}""")
|
||||
print(f" Element bei ({x:.0f},{y:.0f}): {hit_info}")
|
||||
|
||||
# Screenshot after hover attempt
|
||||
try:
|
||||
from pathlib import Path as _Path
|
||||
debug_dir = _Path("debug"); debug_dir.mkdir(exist_ok=True)
|
||||
@ -140,7 +162,7 @@ class Resolver:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
time.sleep(0.5) # Give Teams time to register the hover
|
||||
time.sleep(1.5) # Wait for hover card to fully appear
|
||||
|
||||
try:
|
||||
# Stage 1: wait for card container to appear
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user