45 Commits

Author SHA1 Message Date
Max Schmitt
7dc689eee7
fix: installation tool on Windows (#345) 2025-05-04 06:56:59 -07:00
Pavel Feldman
200cf737bb
chore: use import.meta.resolve to lookup Playwright (#337) 2025-05-03 14:38:58 -07:00
Ryosuke Iwanaga
49979641fa
fix: require is not defined (#334)
Since it's moved to ESM, `require` isn't defined.
This hotfix is just recreating `require` to workaround this issue.
2025-05-02 21:19:54 -07:00
Pavel Feldman
7e087af6a6
chore: slightly adjust gen test prompt (#333) 2025-05-02 18:38:06 -07:00
Pavel Feldman
927a1280f1
chore: allow generating tests for script (#331) 2025-05-02 17:41:58 -07:00
Pavel Feldman
292e75d464
chore: roll Playwright to remove empty generic nodes (#330) 2025-05-02 16:10:48 -07:00
Simon Knott
2c9376e50f
chore: don't sanitize file extension away (#327) 2025-05-02 10:58:48 -07:00
Simon Knott
a15f0f301b
chore: save downloads to outputDir (#310) 2025-05-02 10:57:31 +02:00
Max Schmitt
685dea9e19
chore: migrate to ESM (#303)
- [Why do I need `.js`
extension?](https://stackoverflow.com/a/77150985/6512681)
- [Why setting `rootDir` in the
`tsconfig.json`?](https://stackoverflow.com/a/58941798/6512681)
- [How to ensure that we add the `.js` extension via
ESLint](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/extensions.md#importextensions)

Fixes https://github.com/microsoft/playwright-mcp/issues/302
2025-04-30 23:06:56 +02:00
Pavel Feldman
69703cc882
chore: follow up to exposing playwright config options (#289) 2025-04-29 08:53:03 -07:00
Pavel Feldman
80c9b93b72
chore: allow configuring raw Playwright options (#287)
Fixes: https://github.com/microsoft/playwright-mcp/issues/272
2025-04-28 20:17:16 -07:00
Pavel Feldman
12e72a96c4
chore: allow configuring screenshot tool (#286)
Fixes: https://github.com/microsoft/playwright-mcp/issues/277
2025-04-28 17:21:23 -07:00
Pavel Feldman
697a69a8c2
chore: allow specifying output dir (#285)
Ref: https://github.com/microsoft/playwright-mcp/issues/279
2025-04-28 16:35:33 -07:00
Pavel Feldman
6e76d5e550
chore: split context.ts into files (#284) 2025-04-28 16:14:16 -07:00
Pavel Feldman
26779ceb20
chore: allow passing config file (#281) 2025-04-28 15:04:59 -07:00
Pavel Feldman
586492a3f0
chore: mark v0.0.15 (#250) 2025-04-22 16:17:36 -07:00
Pavel Feldman
1bc3c761de
feat(network): implement listing network requests (#247)
Fixes: https://github.com/microsoft/playwright-mcp/issues/242
2025-04-22 16:04:25 -07:00
Simon Knott
c80f7cf222
chore: infer tool params (#241)
Moves the `schema.parse` call to the calling side of the handler, so we
don't have to duplicate it everywhere.
2025-04-22 13:24:38 +02:00
Pavel Feldman
6481100bdf
feat(dialog): handle dialogs (#212) 2025-04-17 14:03:13 -07:00
Pavel Feldman
4b261286bf
chore: test list tabs (#208) 2025-04-17 09:58:02 +02:00
Pavel Feldman
7e4a964b0a
chore: flatten tool calling, prep for timeout handling (#205) 2025-04-16 19:36:48 -07:00
Pavel Feldman
cea347d067
chore: introduce modal states (#204) 2025-04-16 15:21:45 -07:00
Pavel Feldman
6054290d9a
chore: follow up to the element screenshot change (#199) 2025-04-16 12:53:27 -07:00
Andrei-Daniel Barzu
6d4adfe5c6
feat: add element screenshot action for snapshots (#182) 2025-04-16 10:28:44 -07:00
Pavel Feldman
5c2e11017d
chore: convert console resource to tool (#193) 2025-04-15 18:01:59 -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
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
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
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
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
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
723a5420e6
fix: stitch all frames into one snapshot (#49) 2025-03-27 09:20:58 -07:00
Pavel Feldman
d4bc2c78d2
chore: allow taking pixel screenshots in snapshot mode (#44)
Ref: https://github.com/microsoft/playwright-mcp/issues/39
2025-03-27 07:27:34 -07:00
Pavel Feldman
6ff4500211
chore: use persistent profile by default (#41)
Fixes https://github.com/microsoft/playwright-mcp/issues/29
2025-03-26 15:02:45 -07:00
ryo kishida
9f93af3a81
feat(tool): add locator.selectOption() action (#25)
Implemented `locator.selectOption`
2025-03-25 21:53:56 -07:00
Pavel Feldman
852709c026 chore: initial code commit 2025-03-21 11:13:24 -07:00