Commit Graph

504 Commits

Author SHA1 Message Date
Gregor Žunič 1e57a8de3f created serializers 2025-07-09 20:15:40 +02:00
Gregor Žunič 73413ee15c save huge models to slots -> HUGE speedup 2025-07-09 17:05:47 +02:00
Gregor Žunič b6ba35026e wip, generated types for the dom tree 2025-07-09 16:59:02 +02:00
Gregor Žunič 8a2eda1828 wip, started migrating to pure cdp 2025-07-09 12:22:21 +02:00
Nick Sweeting b2a84b2296 fix tests and other improvements 2025-07-08 02:32:03 -07:00
Magnus Müller d03196c09c Merge remote-tracking branch 'origin/main' into include-lmnr 2025-07-06 23:42:14 +02:00
mingzhong.li ab83e505b5 fix: fixing detection of interactive elements in shadow DOM; The getBoundingClientRect() of the Shadow DOM host element may return width/height = 0 2025-07-05 00:32:03 +08:00
mingzhong.li 1fccd380a4 comment: update comment in index.js 2025-07-04 22:22:44 +08:00
mingzhong.li 5a11b8f1cd fix: fixing highlighted elements not show,Make sure to use the maximum valid value in zIndex to avoid being blocked by other elements 2025-07-04 21:45:40 +08:00
Magnus Müller 1bbae1c4de Logging 2025-07-04 15:33:47 +02:00
Gregor Žunič d5ee99d91d fixed nasty error with null values 2025-07-02 18:54:12 +02:00
Gregor Žunič ef1f74fd40 added extra line 2025-07-02 18:22:41 +02:00
Gregor Žunič dcd9be9e21 Merge branch 'main' into fuckaround/dom-processing-tree 2025-07-02 18:20:55 +02:00
Gregor Žunič 741c554dc2 added some basic types and removed unnecesary code 2025-07-02 17:41:28 +02:00
Gregor Žunič 7664a87562 reverted removed element detections 2025-07-02 17:12:50 +02:00
Cursor Agent 05ef6dcc82 Replace asterisk markers with <new> tags for new elements
- Update DOM element highlighting from *[index]* to <new>[index]</new>
- Update system prompts to reflect new <new> tag format
- Provides clearer semantic meaning for new elements in browser state
2025-07-01 21:47:57 +00:00
Gregor Žunič 76a8885c74 ability to add patchright to extraction script 2025-07-01 15:18:28 +02:00
Gregor Žunič 6de2a103ad small token optimization with title 2025-07-01 13:04:28 +02:00
Gregor Žunič 33fc9c5aeb removed unnecesary ]* after new element 2025-07-01 12:43:13 +02:00
Gregor Žunič c5faf50bfb fixed duplicate text bug 2025-07-01 11:46:38 +02:00
Gregor Žunič 6bad3b310c added back client rects cache 2025-07-01 10:58:20 +02:00
Gregor Žunič b1aa20ae64 making extraction simpler, removed some unnecesary optimizations 2025-07-01 10:43:28 +02:00
Gregor Žunič cf03b7a9d4 removed client reacts cache, refactor scripts 2025-06-30 15:21:41 +02:00
Gregor Žunič 437bb4ecc6 added linter to dom process file 2025-06-30 15:05:54 +02:00
Gregor Žunič 3a50681e26 removed PERF_METRICS for nicer code view 2025-06-30 14:56:43 +02:00
rendi 033caea996 Merge remote-tracking branch 'origin/main' 2025-06-23 11:40:30 +08:00
Nick Sweeting 6c695d0a42 more lint and hint fixes 2025-06-21 05:39:17 -07:00
Nick Sweeting f4b1987761 fixes 2025-06-21 03:43:37 -07:00
Nick Sweeting 095f8a72cf Revert "Fix cross-origin iframe DOM retrieval" 2025-06-21 05:48:11 -04:00
Magnus Müller 4c2952d640 Squashed commit of the following:
commit a9cf53a1b1
Merge: 5aa62c11 0f9ffa10
Author: Magnus Müller <67061560+MagMueller@users.noreply.github.com>
Date:   Fri Jun 20 10:41:19 2025 +0200

    Set user_data_dir to None (#2015)

    <!-- This is an auto-generated description by cubic. -->
    Changed browser session setup to use incognito mode by setting
    user_data_dir to None, preventing persistent state between evaluation
    runs.

    <!-- End of auto-generated description by cubic. -->

commit 0f9ffa1072
Author: Magnus Müller <67061560+MagMueller@users.noreply.github.com>
Date:   Fri Jun 20 10:38:01 2025 +0200

    Set user_data_dir to None

commit 5aa62c1113
Merge: d8a9d21b e559ff5e
Author: Nick Sweeting <git@sweeting.me>
Date:   Thu Jun 19 23:01:49 2025 -0700

    Fix cross-origin iframe DOM retrieval (#1965)

commit d8a9d21b00
Merge: 3e5f3049 b6be1583
Author: Nick Sweeting <git@sweeting.me>
Date:   Thu Jun 19 23:01:21 2025 -0700

    Fix critical domain restriction bypass vulnerability (#2006)

commit b6be158319
Author: Sahar <saharhashai@gmail.com>
Date:   Thu Jun 19 02:28:34 2025 -0700

    Delete tests/ci/test_security_url_validation.py

commit aca4b57329
Author: Sahar <saharhashai@gmail.com>
Date:   Thu Jun 19 02:27:57 2025 -0700

    Delete SECURITY_FIX_REPORT.md

commit 45872c1e45
Author: Your Name <your.email@example.com>
Date:   Thu Jun 19 11:24:50 2025 +0200

    fix(security): prevent domain restriction bypass in controller actions

    - Add domain validation to controller.click() and controller.type() methods
    - Implement comprehensive security checks before executing actions
    - Prevent potential prompt injection and unauthorized data access
    - Add extensive test coverage for domain validation scenarios
    - Update documentation with security considerations

    This critical fix prevents complete bypass of domain restrictions that
    could enable attackers to perform unauthorized actions on any domain.

commit e559ff5eaa
Merge: 19ae8a11 f348e0c5
Author: Nick Sweeting <git@sweeting.me>
Date:   Sat Jun 14 01:56:09 2025 -0700

    Merge branch 'main' into main

commit 19ae8a1146
Merge: e1b3ff9e 08ed0be3
Author: Nick Sweeting <git@sweeting.me>
Date:   Sat Jun 14 00:31:30 2025 -0700

    Merge branch 'main' into main

commit e1b3ff9e9d
Author: Ilya Biryukov <ilbiryuk@microsoft.com>
Date:   Thu Jun 12 17:40:40 2025 -0700

    Revert changes to  examples/features/multiple_agents_same_browser.py

commit d20a3b55d6
Author: Ilya Biryukov <ilbiryuk@microsoft.com>
Date:   Thu Jun 12 17:30:59 2025 -0700

    Fix pre-commit lint issues and compile error in multiple_agents_same_browser

commit 13d5468aa2
Author: Ilya Biryukov <ilbiryuk@microsoft.com>
Date:   Thu Jun 12 14:07:21 2025 -0700

    Fix cross-origin iframe DOM retrieval
2025-06-20 10:51:06 +02:00
rendi 8c791433ce #fix issue where elements with interactive events inside iframe do not receive bound click events 2025-06-18 09:26:09 +08:00
yasithdev 8ea4b4c71a centralize playwright/patchwright imports, and update typing/checks to reduce lint errors 2025-06-16 22:57:20 -04:00
Nick Sweeting 3af0a40fa2 fix lint 2025-06-16 17:11:33 -07:00
rendi fcd90ae31f #1970 format 2025-06-16 17:47:59 +08:00
rendi c6a10e00a8 #1970 get_all_text_till_next_clickable_element returns incorrect text 2025-06-16 17:40:14 +08:00
rendi 02ab541755 #1970 get_all_text_till_next_clickable_element returns incorrect text 2025-06-16 11:13:20 +08:00
Nick Sweeting f5546c633d use bounding box to determine a tag eligibility, fixes 1789 2025-06-13 18:02:20 -07:00
Nick Sweeting 023c702f4d pass logger object down the chain to sub-objects for re-use 2025-06-10 00:38:38 -07:00
Nick Sweeting 930a7aa4de use self.logger for timing log lines 2025-06-10 00:24:50 -07:00
mingzhong.li c0a936e54c fix: fixing interactive element event checking:
1. add event_listeners_script
2. adding getEventListenersForNode in buildDomTree.js for checking element event
2025-05-24 20:50:33 +08:00
mingzhong.li aeda8668bf docs: fixing word spell in comment 2025-05-24 18:42:25 +08:00
mingzhong.li c1dc00cff2 fix: fixing interactive element event checking: restore code for using window.getEventListeners 2025-05-24 18:28:31 +08:00
Evgeny Kim 5da261310b Improve file upload detection 2025-05-23 13:05:06 +02:00
Nick Sweeting 50ade97062 simplify open_tab action 2025-05-23 00:58:09 -07:00
Nick Sweeting f6ca4e13a3 massively improve logging experience and add loading animation on browser startup 2025-05-23 00:48:52 -07:00
Nick Sweeting 6b8360c475 better logging 2025-05-22 23:17:21 -07:00
Magnus Müller faa655e02c Fix typo in children count print statement in accessibility playground test
- Corrected a syntax error in the print statement that outputs the number of children nodes, ensuring proper formatting and clarity in the output.
2025-05-22 12:23:41 +02:00
Magnus Müller bbd0b4cf4b Add accessibility playground script for testing accessibility trees
- Introduced a new script `test_accessibility_playground.py` that launches a browser and navigates to a specified URL to extract and print the accessibility tree.
- Implemented functionality to save the accessibility tree in a structured format and provide detailed information about each node.
- The script is designed for easy modification to facilitate user experiments with different web pages.
2025-05-22 12:06:18 +02:00
Nick Sweeting 1d6aa96b53 Fixed the issue where getEventListeners was unavailable when used in page.evaluate. Changed to a custom event listener detection approach. (#1710) 2025-05-21 00:59:28 -07:00
marcyang bc2beba636 Optimization: Fixed event listener detection logic 2025-05-21 11:32:58 +08:00