diff --git a/playwright/_impl/_browser_type.py b/playwright/_impl/_browser_type.py index ec8c988d5..b34d224d6 100644 --- a/playwright/_impl/_browser_type.py +++ b/playwright/_impl/_browser_type.py @@ -14,6 +14,7 @@ import asyncio import pathlib +import sys from pathlib import Path from typing import TYPE_CHECKING, Dict, List, Optional, Pattern, Sequence, Union, cast @@ -167,6 +168,10 @@ def _user_data_dir(self, userDataDir: Optional[Union[str, Path]]) -> str: if not userDataDir: return "" if not Path(userDataDir).is_absolute(): + # Can be dropped once we drop Python 3.9 support (10/2025): + # https://github.com/python/cpython/issues/82852 + if sys.platform == "win32" and sys.version_info[:2] < (3, 10): + return pathlib.Path.cwd() / userDataDir return str(Path(userDataDir).resolve()) return str(Path(userDataDir))