Fix unwanted console window with pythonw on windows platform #729
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I use playwright python in silent mode, my app runs in a background with no windows.
The Windows platform has a special way to run such applications - pythonw.exe
When I start the browser from my code, an unwanted black console window appears on the screen.
How to reproduce the problem:
Let's take simple script like this:
If we run this script like this:
python.exe sample.py
Everything will work fine and no windows will appear
If we run it like this
pythonw.exe sample.py
We will see a black console window associated with the call to playwright.cmd in the playwright-python library code.
At start pythonw.exe the console is not created, and sys.stdout is set to None.
Therefore, the playwright.cmd subprocess cannot join to the current sys.stdout (because it is None) and creates a new one