playwright-triage
Skill15k starsChanged 10 days agoApache-2.0View on GitHub
Triage and fix one microsoft/playwright-python issue, or do a maintainer's task, unattended inside the Issue triage GitHub Actions workflow (.github/workflows/triage.yml), which a needs-triage, needs-triage-mac or needs-triage-win label starts, or a maintainer starts by hand with an issue, a task or both. Reproduces the issue on the runner, then leaves a verified fix proposal for the workflow to open as a draft PR, an investigation note for it to post on the issue, or an upstream bug report for a maintainer to file in microsoft/playwright. Only for that workflow.
- Installs packages
We split this skill into the rules it gives an agent
4 rules. 0 are common, 0 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
Read upstream code there. Do not edit, commit or switch branches in it: the wheel build and ./scripts/lint.sh stop when it is not at that …
- Very specific: line 64
Do not work around it in playwright/_impl/.
- Very specific: line 65
When git -C $PLAYWRIGHT_DIR log HEAD..origin/main -- <path> shows a fix that already landed, the note says that it reaches this repo with …
- Very specific: line 87
Do not run a PR that changes setup.py, pyproject.toml, setup.cfg, local-requirements.txt, requirements.txt, DRIVER_VERSION, NODE_VERSION, …
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Playwright Python Issue Triage
You run unattended in the Issue triage workflow of
microsoft/playwright-python. First read the shared guide, $AGENT_GUIDES_DIR/triage.md, a copy of
microsoft/playwright/.github/actions/run-agent/guides/triage.md,
and then AGENTS.md, both in full. The guide says how to triage an issue in any
Playwright repo. AGENTS.md says how to build, test and lint this one, and where a regression test
goes. This file covers what neither has: the checkouts, how to run a published version, and the
outcome that this repo adds, an upstream bug report.
The checkouts
$REPO_DIR is the checkout of microsoft/playwright-python that the guide describes. Its requirements
are installed (pip install -r local-requirements.txt, pip install -r requirements.txt,
pip install -e .), the wheel is built (python -m build --wheel, which builds the driver into
playwright/driver/), and Chromium, Firefox and WebKit are installed with
python -m playwright install --with-deps. It is the working directory, and the checkout that the
guides refer to. The clone is shallow: run git fetch --unshallow --tags origin in it before you
bisect or use git tag --contains.
$PLAYWRIGHT_DIR is $REPO_DIR/.upstream/, a full clone of microsoft/playwright at the commit
in DRIVER_VERSION, created by python scripts/upstream.py checkout. The driver was built from it.
Read upstream code there. Do not edit, commit or switch branches in it: the wheel build and
./scripts/lint.sh stop when it is not at that commit or has local changes. Before you run upstream
tests in it, it needs npm ci, npm run build and npx playwright install. The wheel build
(scripts/build_driver.py) ran the first two there; run them again when node_modules/ is missing.
Published versions
To run a published version, for example to bisect, create $SCRATCH_DIR/playwright-python-<n>/<version>/
and run there:
python -m venv env && source env/bin/activate # env\Scripts\activate on Windows
pip install playwright==<version>
python -m playwright installThe fixtures of the repo are not available there. Write the condensed repro as a plain script with
sync_playwright() or async_playwright() in that directory, with page.set_content() in place of
the test server, and run it from there. In $REPO_DIR, the source tree shadows the installed package.
The driver of a release is in DRIVER_VERSION at its tag: git show v<version>:DRIVER_VERSION
prints the upstream commit it was built from, or, for releases up to 1.64, the playwright-core
version of the driver; npm view playwright-core@<core version> gitHead prints its commit. Match a
regression in the driver to commits with git -C $PLAYWRIGHT_DIR log <good>..<bad> -- <path>.
Upstream bugs
The client talks to the Node driver that is built from $PLAYWRIGHT_DIR, and microsoft/playwright
and this repo are one team. Reproduce the bug in Python first. Then write the same calls as an
upstream test and run it in $PLAYWRIGHT_DIR. The triage skill of microsoft/playwright, in
$PLAYWRIGHT_DIR/.claude/skills/playwright-triage/, says where such a test goes, which fixtures it
uses and how to run it. The rest of that skill is not for this run. Put the test in a new spec
file, and delete the file when you are done, so that the checkout is clean.
- The Node test passes: the bug is in the Python client. Fix it here.
- The Node test fails too: the root cause is upstream, and the fix lands in
microsoft/playwright. Do not work around it inplaywright/_impl/. Rungit -C $PLAYWRIGHT_DIR fetch origin main. Whengit -C $PLAYWRIGHT_DIR log HEAD..origin/main -- <path>shows a fix that already landed, the note says that it reaches this repo with the next roll. Otherwise write the report. - The Python API lacks a member or an option: the generated API has everything that the upstream
docs in
$PLAYWRIGHT_DIR/docs/src/apigive Python (* langs:decides; nolangsmeans every language). The gap is in the docs, so it is an upstream change too. Do not edit a generated file, and do not add toscripts/codegen/python_rules.jsto go around the docs.
Create $OUTPUT_DIR/upstream/ with:
report.md: the report for an engineer ofmicrosoft/playwrightwho did not read the Python issue: what fails, expected versus actual, the versions (the Python package, the commit inDRIVER_VERSION, the browser, the platform), the root cause when you found it, and the condensed Node test as the repro.report.json:{"title": "..."}, at most 256 characters, for exampleroute.fulfill() drops the charset of Content-Type.
The comment job appends the title and the body to your comment, for a maintainer to file in
microsoft/playwright. The bot never files it. Write report.json last, when report.md and the
comment are done. Like proposal.json, it marks the report as ready.
PRs from third parties
Do not run a PR that changes setup.py, pyproject.toml, setup.cfg, local-requirements.txt,
requirements.txt, DRIVER_VERSION, NODE_VERSION, .pre-commit-config.yaml, test.sh,
scripts/, utils/, .github/, .azure-pipelines/, .claude/, or a generated file. A PR that
changes a ported test under tests/{async,sync}/{page,library}, or adds a mark to one, has faults:
the ports have zero deviations.
Trending
More talk lately.about the whole repository
Who's talking about microsoft/playwright-python
- Playwright“Playwright at PYCon US with Andrew Knight”YouTube · May 12, 2023 · 6.1k views
- Bee Solutions“Monitoramento de Serviços com Downdetector Atualizado com Zabbix e Grafana - (BEE 2026)”YouTube · Jan 7, 2026 · 2.9k views
- QA Mania“Playwright python - how to run browsers concurrently”YouTube · Dec 11, 2020 · 2.5k views
- 開発ライブラリ紹介“取得したら中身が空っぽ?|playwrightでJSサイトも丸ごと取得 #shorts”YouTube · Sep 5, 2026 · 1.1k views
- coursegurukul“What is Playwright? | The Future of Web Testing | Playwright Tutorial for Beginners | Course Gurukul”YouTube · Apr 26, 2025 · 258 views
The biggest 5 of 72 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 72
Talked about on GitHub, Stack Overflow, YouTube, the web and Hacker News (72 times).
On GitHub · 50
- Feb 9, 2022[Feature] Directly set Proxy-Authorization in Chrome without configuring any other proxy settings — microsoft/playwright65 reactions · 12 comments
- Jan 12, 2021[Feature] Support for Raspberry PI — microsoft/playwright34 reactions · 8 comments
- Sep 13, 2020[Feature] Driver - allow to install only selected browsers — microsoft/playwright14 reactions · 3 comments
- Nov 10, 2023[BUG] Opening page with large number of IFrames crashes/hangs playwright — microsoft/playwright9 reactions · 7 comments
- Nov 9, 2023[BUG] Unable to access iframe in firefox (works with chromium and webkit) — microsoft/playwright9 reactions · 3 comments
45 more on GitHub
- Jan 30, 2026python3Packages.playwright: 1.57.0 -> 1.58.0 — NixOS/nixpkgs5 reactions · 1 comment
- Sep 17, 2023[Feature] Open Telemetry Tracing — microsoft/playwright5 reactions · 2 comments
- Jun 9, 2026Bump the uv-all group across 1 directory with 3 updates — Ven0m0/dot-termux3 reactions · 1 comment
- May 20, 2026Bump the pip-all group across 1 directory with 3 updates — Ven0m0/dot-termux3 reactions · 1 comment
- May 3, 2024[Feature]: Proper support for scrolling to the bottom of a page — microsoft/playwright3 reactions · 7 comments
- Dec 30, 2022Update playwright driver to 1.29.1 — YusukeIwaki/playwright-ruby-client3 reactions · 3 comments
- Jan 22, 2021[Feature](playwright-cli) Option to install system dependencies — microsoft/playwright3 reactions · 4 comments
- Jul 7, 2026Bump the uv-all group across 1 directory with 2 updates — Ven0m0/dot-termux2 reactions · 2 comments
- Jul 7, 2026Bump the pip-all group across 1 directory with 2 updates — Ven0m0/dot-termux2 reactions · 2 comments
- Jun 30, 2026Bump playwright from 1.60.0 to 1.61.0 in the uv-all group — Ven0m0/dot-termux2 reactions · 2 comments
- Jun 30, 2026Bump playwright from 1.60.0 to 1.61.0 in the pip-all group — Ven0m0/dot-termux2 reactions · 2 comments
- May 20, 2026chore(deps): update playwright requirement from >=1.40.0 to >=1.60.0 — EvezArt/evez-claw-extensions2 reactions · 2 comments
- May 12, 2026chore(deps): update playwright requirement from >=1.40.0 to >=1.59.0 — EvezArt/evez-claw2 reactions · 2 comments
- Mar 26, 2026new rule - suggest changing function parameter type to readonly alternative if parameter is not mutated inside the function — astral-sh/ruff2 reactions · 1 comment
- Jul 31, 2024Please update Playwright-python to 1.40 for Python 3.12 compatibility — daijro/hrequests2 reactions · 4 comments
- Aug 13, 2022Flaky test: CypressError: `cy.request()` timed out waiting `30000ms` for a response from your server — cypress-io/cypress2 reactions · 7 comments
- Feb 3, 2022Installation fails using PDM — pytorch/vision2 reactions · 3 comments
- Oct 25, 2021[Regression] Page.screenshot does not work inside Docker with BrowserServer — microsoft/playwright2 reactions · 6 comments
- Oct 16, 2020setting asyncclick to use asyncio.WindowsProactorEventLoopPolicy — python-trio/asyncclick2 reactions · 2 comments
- Oct 29, 2026build(deps-dev): bump playwright from 1.63.0 to 1.64.1 — paulkakell/timeboardapp1 reaction · 1 comment
- Oct 26, 2026chore(deps-pip): bump the pip-jade-sprint-minor-patch group in /mission-control/jade_temple/sprint with 2 updates — GBOGEB/pipeline-automation-hub1 reaction · 2 comments
- Oct 26, 2026chore(deps-dev): bump playwright from 1.64.0 to 1.64.1 — MoonLadderStudios/MoonMind1 reaction · 1 comment
- Oct 26, 2026deps(deps): bump the pip-minor-patch group with 5 updates — cyxc1124/cyxcbot1 reaction · 1 comment
- Oct 26, 2026[Docs]: python - release notes haven't been updated since 1.63 — microsoft/playwright1 reaction
- Oct 26, 2026Update playwright requirement from >=1.62.0 to >=1.64.1 — WhiteDevil-93/Hermes-pro1 reaction · 2 comments
- Oct 25, 2026chore(deps): bump the uv-minor-patch group across 1 directory with 6 updates — mzworthington/RoMini1 reaction · 1 comment
- Oct 23, 2026chore(deps): update playwright requirement from >=1.40 to >=1.64.0 — escoffier-labs/brigade1 reaction · 3 comments
- Oct 21, 2026Build(deps): update playwright requirement from >=1.63.0 to >=1.64.0 in /tests/e2e — leynos/axinite1 reaction · 3 comments
- Oct 20, 2026fix(deps-dev): bump playwright from 1.50.0 to 1.63.0 — openai/openai-agents-python1 reaction · 4 comments
- Oct 18, 2026deps(deps): bump the pip-minor-patch group across 1 directory with 7 updates — cyxc1124/cyxcbot1 reaction · 1 comment
- Oct 17, 2026build(deps-dev): bump playwright from 1.63.0 to 1.64.0 — paulkakell/timeboardapp1 reaction · 2 comments
- Oct 17, 2026deps: bump playwright from 1.63.0 to 1.64.0 — scope-impact/rdm1 reaction · 1 comment
- Oct 17, 2026chore(deps-dev): bump playwright from 1.63.0 to 1.64.0 — MoonLadderStudios/MoonMind1 reaction · 1 comment
- Oct 8, 2026build(deps): bump playwright from 1.57.0 to 1.63.0 — Kotodama-Project/Kotodama-project1 reaction · 3 comments
- Sep 23, 2026Build(deps): update playwright requirement from >=1.61.0 to >=1.63.0 in /tests/e2e — leynos/axinite1 reaction · 1 comment
- Sep 22, 2026Bump playwright from 1.62.0 to 1.63.0 — gvatsal60/resume-studio1 reaction · 2 comments
- Sep 21, 2026chore(deps): Bump the python-deps group across 1 directory with 3 updates — julianocosta89/sig-meeting-notes1 reaction · 1 comment
- Sep 21, 2026Bump playwright from 1.62.0 to 1.63.0 — MoonLadderStudios/MoonMind1 reaction
- Aug 18, 2026chore(deps): bump the python-deps group across 1 directory with 2 updates — jimc1682000/film-brain1 reaction · 2 comments
- Aug 10, 2026Build(deps): update playwright requirement from >=1.61.0 to >=1.62.0 in /tests/e2e — leynos/axinite1 reaction · 1 comment
- Aug 10, 2026Chore(deps-dev): bump playwright from 1.61.0 to 1.62.0 — MoonLadderStudios/MoonMind1 reaction
- Aug 4, 2026chore(deps): update playwright requirement from >=1.61.0 to >=1.62.0 in the python-deps group across 1 directory — jimc1682000/film-brain1 reaction · 5 comments
- Aug 4, 2026Bump playwright from 1.61.0 to 1.62.0 — gvatsal60/resume-studio1 reaction · 1 comment
- Jul 26, 2026deps: update playwright requirement from <2,>=1.45 to >=1.61.0,<2 — Jnapier2/image-downloader1 reaction · 2 comments
- Jul 16, 2026Build(deps): update playwright requirement from >=1.40 to >=1.61.0 in /tests/e2e — leynos/axinite1 reaction
On Stack Overflow · 11
- Aug 25, 2018python - webdriver and asyncio25 votes
- Apr 1, 2022How to use the Playwright library in a Jupyter notebook instead of using a regular .py script (on Windows)14 votes
- Oct 30, 2022Installing playwright in Docker image fails3 votes
- Jun 1, 2022Can I test Electron application using Playwright Python library?3 votes
- Jun 21, 2024How to save django db data in the middle of a playwright test?2 votes
6 more on Stack Overflow
- May 17, 2023Right mouse click and selecting the appropriate item using Playwright2 votes
- Feb 26, 2024PyInstaller with Playwright and Firefox0 votes
- Dec 27, 2022Playwright and PM2 Issue - hang while creating PlaywrightContextManager0 votes · 1 answer
- Nov 5, 2022Install playwright from a local directory0 votes
- Oct 16, 2024Encountering NotImplementedError in Asynchronous Code with Playwright: Understanding the Cause and Seeking Solutions-1 votes
- Feb 24, 2022Making sure my headless browser is in the right place in my Playwright + Python + Aws lambda setup-1 votes
On YouTube · 5
- May 12, 2023Playwright at PYCon US with Andrew Knight — Playwright6.1k views · 7 comments
- Jan 7, 2026Monitoramento de Serviços com Downdetector Atualizado com Zabbix e Grafana - (BEE 2026) — Bee Solutions2.9k views · 17 comments
- Dec 11, 2020Playwright python - how to run browsers concurrently — QA Mania2.5k views · 8 comments
- Sep 5, 2026取得したら中身が空っぽ?|playwrightでJSサイトも丸ごと取得 #shorts — 開発ライブラリ紹介1.1k views
- Apr 26, 2025What is Playwright? | The Future of Web Testing | Playwright Tutorial for Beginners | Course Gurukul — coursegurukulsays it tested it258 views
On the web · 4
- Mar 19, 2024Python Playwright doesn't work in my computer · Issue #2364 — google.com
- Aug 23, 2022Python Playwright docker issue #1529 — google.com
- Oct 17, 2021Microsoft has released a Playwright-Python — google.com
- May 12, 2021[FEATURE] Playwright on PyPy · Issue #687 — google.com
On Hacker News · 2
- Sep 30, 2020Python version of the Playwright testing and automation librarysays it tested it2 points
- Oct 5, 2020Playwright: Microsoft's end-to-end testing framework for Pythonsays it tested it1 point · 1 comment
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 5
- microsoft/playwright★ 99k27% same
- microsoft/playwright-mcp★ 39k20% same
- microsoft/playwright-cli★ 15k19% same
- microsoft/playwright-dotnet★ 3k33% same
- microsoft/playwright-java★ 1.6k31% same
Wrote their own version · 1
- xeroc/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- AGENTS.mdAGENTS.md
- playwright/_impl/AGENTS.mdAGENTS.md
- tests/AGENTS.mdAGENTS.md
- playwright-releaseSkill
- playwright-rollSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

