181 Commits

Author SHA1 Message Date
Yury Semikhatsky
0d6bb2f547
devops: add bots for other browsers/platforms (#174) 2025-04-15 13:16:56 -07:00
Pavel Feldman
795a9d578a
chore: generalize status & action as code (#188) 2025-04-15 12:54:45 -07:00
Simon Knott
4a19e18999
feat: respond with action and generated locator (#181)
Closes https://github.com/microsoft/playwright-mcp/issues/163
2025-04-15 10:55:20 -07:00
Simon Knott
4d59e06184
test: fix flaky test (#180)
Closes https://github.com/microsoft/playwright-mcp/issues/177

`ResizeObserver` isn't instant!
2025-04-15 16:10:49 +02:00
Pavel Feldman
6891a525b3
chore: add npx install step to the publish workflow (#178) 2025-04-14 20:09:38 -07:00
Yury Semikhatsky
0f7fd1362f
chore: mark 0.0.12 (#176) v0.0.12 2025-04-14 19:39:10 -07:00
Yury Semikhatsky
de08c24b96
fix: consider DISPLAY only on linux (#175) 2025-04-14 19:07:39 -07:00
Pavel Feldman
71e51ea42a
chore: mark v0.0.11 (#173) v0.0.11 2025-04-14 16:48:36 -07:00
Pavel Feldman
0c5a104e0f
chore: default to headless when DISPLAY is missing (#172)
Fixes https://github.com/microsoft/playwright-mcp/issues/165
2025-04-14 16:47:32 -07:00
Pavel Feldman
606b898a71
chore: allow reusing tab over cdp (#170)
Fixes https://github.com/microsoft/playwright-mcp/issues/164
2025-04-14 16:39:58 -07:00
Simon Knott
e729494bd9
feat: browser_resize (#92) 2025-04-14 16:09:48 -07:00
Cameron
77080e8ca4
Restore package-lock.json module hashes (#151)
- Adds integrity hashes that were missing for 5 npm packages in
`package-lock.json`

<hr />

Is there a reason hashes for some of these dependencies are missing from
`package-lock.json`?

Right now these omissions prevent me from packaging a nix derivation for
this mcp server directly off this repo
(https://github.com/cameronfyfe/nix-mcp-servers/blob/main/pkgs/servers/mcp-server-playwright/default.nix#L17)
and I was wondering if they might just be missing due to a bad merge or
something odd like that at some point. `npm install` under normal use
doesn't seem to care if the hashes are missing and installs the packages
anyway, but it's a blocker for hermetic build systems like nix.

If this is intentional for some reason I'm not familiar with feel free
to ignore and close.
2025-04-10 15:24:36 +02:00
Simon Knott
31ac1ed191
fix: exit watchdog should listen for SIGINT/SIGTERM (#144) 2025-04-07 14:51:57 -07:00
Paul Irish
b8ff009b0a
chore: add back stable vscode install button (#145) 2025-04-07 14:18:01 -07:00
Yoshiki Nakagawa
42167878fb
chore: Update README.md (#140)
Remove old documents
2025-04-07 08:54:05 +02:00
Pavel Feldman
6b15c7e422
chore: mark v0.0.10 (#138) v0.0.10 2025-04-05 19:14:50 -07:00
Pavel Feldman
abd56f514b
chore: introduce capabilities argument (#135) 2025-04-04 17:14:30 -07:00
Pavel Feldman
707ebbf4d4
chore: group tools, prepare for capabilities (#134) 2025-04-04 15:22:00 -07:00
Pavel Feldman
fc0cccf4a5
chore: reuse the first tab when navigating (#131) 2025-04-03 22:39:55 -07:00
Pavel Feldman
e36d4ea695
chore: allow multiple tabs (#129) 2025-04-03 19:24:17 -07:00
Pavel Feldman
b358e47d71
chore: prep for multiple pages in context (#124) 2025-04-03 10:30:05 -07:00
Yury Semikhatsky
38f038a5dc
chore: typo in description (#127) 2025-04-02 17:26:45 -07:00
Yury Semikhatsky
2291011dc7
feat: add slowly option for typing one character at a time (#121) 2025-04-02 14:36:30 -07:00
Pavel Feldman
89627fd23a
chore: extract page snapshot, prep for multipage (#120) 2025-04-02 11:42:39 -07:00
Pavel Feldman
23f392dd91
chore: mark v0.0.9 (#114) v0.0.9 2025-04-01 15:45:00 -07:00
Max Schmitt
128e75b9f4
devops: fix npm publishing due to proverance (#112)
Like
[upstream](3ad5c2731a/.github/workflows/publish_release_npm.yml (L15))
and in the
[docs](https://docs.npmjs.com/generating-provenance-statements#example-github-actions-workflow).
v0.0.8
2025-04-02 00:37:13 +02:00
Pavel Feldman
2366dbf36c
chore: mark v0.0.8 (#111) 2025-04-01 15:16:28 -07:00
Pavel Feldman
0de7c0d38c
chore: follow up with iframe stitch (#110) 2025-04-01 15:10:23 -07:00
Simon Knott
0a5518b252
chore: stitch together iframes into one tree (#71) 2025-04-01 14:47:53 -07:00
Pavel Feldman
4f16786432
chore: merge browser and channel settings (#100) 2025-04-01 10:26:48 -07:00
Pavel Feldman
9042c03faa
chore: support channel and executable path params (#90)
Fixes https://github.com/microsoft/playwright-mcp/issues/89
2025-03-31 15:30:08 -07:00
Pavel Feldman
d316441142
chore: sanitize file path when saving (#99)
Fixes https://github.com/microsoft/playwright-mcp/issues/96
2025-03-31 15:01:58 -07:00
Yoshiki Nakagawa
aeb4cf65e9
Fixed typo in README.md (#88) 2025-03-31 09:33:38 +01:00
Pavel Feldman
a7392fc266
chore: allow passing cdp endpoint (#86)
Fixes https://github.com/microsoft/playwright-mcp/issues/84
2025-03-30 09:05:58 -07:00
Max Schmitt
88fbf50841
devops: use --provenance when publishing to NPM (#83)
Similar to how we do it upstream:
e2c8163b14/utils/publish_all_packages.sh (L97)

Reference: https://docs.npmjs.com/generating-provenance-statements
2025-03-29 19:17:54 +01:00
Pavel Feldman
af522dca5f chore: lint and test prior to publishing v0.0.7 2025-03-28 13:43:44 -07:00
Pavel Feldman
020107e830 chore: mark v0.0.7 2025-03-28 13:42:20 -07:00
Pavel Feldman
195ed4a4ba
chore: parse search params the usual way (#78) 2025-03-28 13:41:08 -07:00
Pavel Feldman
7bda082a4e
chore: isolate SSE client browsers (#76) 2025-03-28 13:24:45 -07:00
Pavel Feldman
889af3c853
Revert "fix: tired URL parsing bug" (#77)
Reverts microsoft/playwright-mcp#70

I was working on a bigger change and this conflicts.
2025-03-28 12:20:42 -07:00
Simon Knott
edac6da891
fix: tired URL parsing bug (#70)
Closes https://github.com/microsoft/playwright-mcp/issues/67

When `req.headers.host` is defined, the URL parsing breaks because
there's no protocol.
2025-03-28 10:03:41 +01:00
Pavel Feldman
74a8f95ca3 chore: rename publish script 2025-03-27 16:55:39 -07:00
Pavel Feldman
5b43f194e9 chore: mark v.0.0.6 2025-03-27 16:53:34 -07:00
Pavel Feldman
3b0e4c3b27 chore: refactor tests for real 2025-03-27 16:50:43 -07:00
Simon Knott
b477b7c26f
chore: refactor tests (#61) 2025-03-27 15:47:15 -07:00
Simon Knott
5e200405e5
feat: browser_choose_file (#52)
Resolves https://github.com/microsoft/playwright-mcp/issues/31.

Prompt used for testing: 
```
upload test.txt to dropbox
```

This won't work for asynchronously opened filechoosers, but let's start
with the synchronous variant. I also tested with including the file
chooser open state in the snapshot, but that didn't give better results.

I also tested with OneDrive and WeTransfer, but somehow our ARIA
snapshots for those pages are missing some elements that are crucial to
locate the upload buttons.
2025-03-27 20:49:57 +01:00
Simon Knott
f033213618
chore: only include visible iframes, keep frame locators in own array (#60)
As discussed:

- hides invisible frames from snapshot
- keep our own frame locator array, so we don't rely on `page.frames()`
ordering to be stable
2025-03-27 20:22:44 +01:00
Simon Knott
1b18e31ffe
chore: sse test (#59) 2025-03-27 19:23:50 +01:00
Simon Knott
f547f6dd21
feat: sse transport (#57) 2025-03-27 10:23:30 -07:00
Max Schmitt
878b46588b
devops: add NPM publishing (#4)
Requires the `NPM_TOKEN` secret to be set.
2025-03-27 18:08:43 +01:00