Commit Graph

26 Commits

Author SHA1 Message Date
laithrw 468d149588 Merge branch 'main' into fix/3292-table-row-clickability 2026-01-25 10:48:47 -05:00
laithrw 794b68b448 Merge branch 'main' into fix/label-span-interactive-antd 2026-01-25 10:43:27 -05:00
Laith Weinberger 1794849886 don't mutate page
instead of writing markers to DOM, collect element references in JS, resolve them to internal Chrome node IDs via CDP, and store those IDs in Python
2026-01-24 16:36:14 -05:00
Laith Weinberger 20f51c7fef detect JS event listeners for clickable elements
uses CDP Runtime.evaluate with includeCommandLineAPI to access getEventListeners() and mark elements with click/mousedown/pointerdown listeners before DOM snapshot capture
2026-01-24 14:44:08 -05:00
sudhanshu112233shukla d7990721f8 fix(#3292): make table rows and cells with role='row'/'cell' interactive
- Added 'row', 'cell', 'gridcell' to interactive_roles in ClickableElementDetector
- Added 'row', 'cell', 'gridcell' to interactive_ax_roles in ClickableElementDetector
- Verified logic with isolated test case
2026-01-11 12:48:55 +00:00
ditingdapeng 882ac6471a fix: detect label/span wrappers for AntD-style controls 2026-01-08 04:04:10 +08:00
Mert Unsal fb8994de13 Revert "Fix: Ignore Inert Carousel Elements" 2025-11-15 23:05:21 -08:00
PredictiveManish 839c1412e2 Update: ClickableElementDetector.is_interactive to ignore elements marked inert or aria-hidden 2025-11-12 17:08:52 +05:30
Magnus Müller 8557cffdd7 Remove debug logging from DOM serializer and clickable detector
- Removed all debug print statements for link detection
- Cleaned up empty if blocks left by debug removal
- Fixed indentation issues from automated cleanup
- All linter checks pass

Cross-origin iframe DOM extraction works but clickable elements
within cross-origin iframes are not being detected as interactive.
Further investigation needed to determine if this is a target
switching issue or element detection issue.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 23:29:35 -07:00
Magnus Müller 04e987df99 Add stacked DOM elements test for complex scenarios
- Introduced a new HTML template for testing stacked DOM elements, including open and closed shadow DOMs, same-origin and cross-origin iframes, and a final button.
- Implemented a test case to validate click functionality through these stacked elements, ensuring that all interactive elements are clickable and that the click counter reflects the expected number of clicks.
- Enhanced the browser session configuration to accommodate a taller window size for better visibility of stacked elements.

This update aims to improve the robustness of DOM interaction tests and ensure comprehensive coverage of complex scenarios in the browser automation framework.
2025-10-26 23:16:06 -07:00
Gregor Žunič 3d8e00f0b0 added FRAME to everywhere where we have IFRAME 2025-08-29 21:04:50 -07:00
Magnus Müller 1ac519e98f Typos 2025-08-29 18:25:16 -07:00
Magnus Müller b012d21de3 Refine clickable element detection logic
- Enhanced the tag check to include truly interactive elements.
- Removed special handling for 'label' elements, as they are now managed by other attribute checks to prevent interference with clickable elements.

These updates improve the accuracy of interactive element detection in the DOM serializer.
2025-08-29 18:05:32 -07:00
Magnus Müller d80549038b Enhance element interaction handling
- Added logging for new elements detected during actions in the Agent class.
- Implemented a human-like text field clearing method in DefaultActionWatchdog, utilizing Ctrl+A and Backspace.
- Improved focus handling for label elements, ensuring they are only interactive if they do not have a 'for' attribute.
- Updated clickable element detection logic to account for labels pointing to inputs.

These changes improve the robustness of user interactions and enhance debugging capabilities.
2025-08-29 18:01:34 -07:00
Nick Sweeting a1f1330aa6 linter fixes 2025-08-14 14:32:32 -07:00
Nick Sweeting b3546b0cf5 fix iframe scroll detection and viewport element inclusion tests after scroll 2025-08-14 05:02:57 -07:00
mertunsall cd71662ab8 some optimizations to extraction 2025-08-12 19:39:09 +01:00
Magnus Müller e0571b648d Check is visible 2025-08-10 14:50:18 -07:00
Magnus Müller c6e71121c1 Auto enter 2025-08-09 18:47:05 -07:00
Gregor Žunič 0830f06de6 removed false positives: if element has 0 height and width, it can't be clicakble 2025-08-02 15:20:55 -07:00
Magnus Müller f6e3fa1d65 Move negative checks further up 2025-07-12 21:28:25 +02:00
Magnus Müller 6a9e00b25e Remove everything unaccesible for screenreaders 2025-07-12 20:06:18 +02:00
Magnus Müller 4ceb2eb252 Basic editable properties 2025-07-12 19:40:08 +02:00
Magnus Müller a345dec8f2 Basic extraction 2025-07-12 19:26:34 +02:00
Gregor Žunič 65f94f7eee extraction, sage entire tree 2025-07-12 18:33:47 +02:00
Gregor Žunič dd7586bed2 refactored to detect ALL elements 2025-07-12 18:28:31 +02:00