We picked Selenium because it seems much more widely used at least in the Python world (selenium has about 10x more downloads on PyPI than playwright). My guess is that's at least partly because Playwright is more focused on the JS/TS ecosystem and testing.
To my team, selenium’s only advantage in the python ecosystem is that it is easier to hire people with experience. However, anyone familiar with selenium is likely to pick up playwright extremely quickly anyways
Playwright does ship a pytest integration but it is not required
Some highlights:
1. Better waiting — everything is auto-waited and auto-retried by default
2. Easy to install browsers — no need to get separate webdriver browsers. Just run “playwright install chromium”
3. Full, accurate typing
4. Trace viewing to step through a script execution
5. Async support
6. (Arguably) more pythonic syntax and easier to pick up/ train people
I really enjoyed mastering selenium over the years, but I struggle to think of a use case for it outside of maintaining legacy script suites anymore. Playwright just does it better.
Selenium is quite outdated, though still widely used. It's much older. I would look at downloads over time / rate of change, not total downloads.
My hot take- don't hook yourselves to outdated tech.
Don't take my word for it- go try out selenium, Cypress, and playwright and draw your own conclusions.
https://github.com/w3c/webdriver-bidi
https://w3c.github.io/webdriver-bidi/
Google wrote a good explainer about WebDriver BiDi here: