-
Notifications
You must be signed in to change notification settings - Fork 1k
add native selectOptionFromDropdown
#842
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 Changeset detectedLatest commit: 8c064dd The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
6498c3c
to
2550c0f
Compare
🔄 Feature Parity Issue Created An issue has been automatically created in the Python SDK repository to track parity implementation: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
Introduces native OS-level dropdown support with a new selectOptionFromDropdown
function, differentiating between native <select>
elements and custom dropdowns for more reliable interactions.
- Added native
selectOptionFromDropdown
function inlib/handlers/handlerUtils/actHandlerUtils.ts
with 5-second timeout - Updated
lib/prompt.ts
to intelligently route dropdown interactions based on element type (select vs custom) - Added accessibility tree improvements in
lib/a11y/utils.ts
to properly identify native select elements - Introduced three comprehensive eval tests:
os_dropdown.ts
,custom_dropdown.ts
, andhidden_input_dropdown.ts
to validate different dropdown scenarios
8 files reviewed, 5 comments
Edit PR Review Bot Settings | Greptile
selectOptionFromDropdown
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @browserbasehq/[email protected] ### Patch Changes - [#856](#856) [`8a43c5a`](8a43c5a) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - set download behaviour by default - [#857](#857) [`890ffcc`](890ffcc) Thanks [@miguelg719](https://github.com/miguelg719)! - return "not-supported" for elements inside the shadow-dom - [#844](#844) [`64c1072`](64c1072) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - don't automatically close tabs - [#860](#860) [`b077d3f`](b077d3f) Thanks [@miguelg719](https://github.com/miguelg719)! - Set default schema on extract options with no schema - [#842](#842) [`8bcb5d7`](8bcb5d7) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - improved handling for OS level dropdowns - [#846](#846) [`7bf10c5`](7bf10c5) Thanks [@miguelg719](https://github.com/miguelg719)! - Filter attaching to target worker / shared_worker ## @browserbasehq/[email protected] ### Patch Changes - Updated dependencies \[[`8a43c5a`](8a43c5a), [`890ffcc`](890ffcc), [`64c1072`](64c1072), [`b077d3f`](b077d3f), [`8bcb5d7`](8bcb5d7), [`7bf10c5`](7bf10c5)]: - @browserbasehq/[email protected] ## @browserbasehq/[email protected] ### Patch Changes - Updated dependencies \[[`8a43c5a`](8a43c5a), [`890ffcc`](890ffcc), [`64c1072`](64c1072), [`b077d3f`](b077d3f), [`8bcb5d7`](8bcb5d7), [`7bf10c5`](7bf10c5)]: - @browserbasehq/[email protected] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
why
what changed
selectOptionFromDropdown
function inactHandlerUtils.ts
selectOptionFromDropdown
in specific cases (when the dropdown is OS level)test plan
act
evalsfast follow PRs
to do