From 657f415d3eaa05df2d3dbff0a56526aad285d6f1 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Wed, 16 Aug 2023 10:03:48 +0200 Subject: [PATCH] fix: Playwright.CreateAsync() without console (#2665) --- src/Playwright/Transport/StdIOTransport.cs | 26 +++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/Playwright/Transport/StdIOTransport.cs b/src/Playwright/Transport/StdIOTransport.cs index 1a6c3536..4d47fd24 100644 --- a/src/Playwright/Transport/StdIOTransport.cs +++ b/src/Playwright/Transport/StdIOTransport.cs @@ -146,8 +146,21 @@ internal class StdIOTransport : IDisposable var originalInputEncoding = Console.InputEncoding; var originalOutputEncoding = Console.OutputEncoding; - Console.InputEncoding = encoding; - Console.OutputEncoding = encoding; + var hasConsole = true; + try + { + var height = Console.WindowHeight; + } + catch + { + hasConsole = false; + } + + if (hasConsole) + { + Console.InputEncoding = encoding; + Console.OutputEncoding = encoding; + } try { @@ -155,9 +168,12 @@ internal class StdIOTransport : IDisposable } finally { - // Restore the original encodings - Console.InputEncoding = originalInputEncoding; - Console.OutputEncoding = originalOutputEncoding; + if (hasConsole) + { + // Restore the original encodings + Console.InputEncoding = originalInputEncoding; + Console.OutputEncoding = originalOutputEncoding; + } } }