Skip to content

Commit 520510d

Browse files
committed
[py]: Allow all services classes to accept **kwargs
1 parent e4b87d4 commit 520510d

File tree

9 files changed

+35
-3
lines changed

9 files changed

+35
-3
lines changed

py/selenium/webdriver/chrome/service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def __init__(
3939
service_args: typing.Optional[typing.List[str]] = None,
4040
log_path: typing.Optional[str] = None,
4141
env: typing.Optional[typing.Mapping[str, str]] = None,
42+
**kwargs,
4243
) -> None:
4344
super().__init__(
4445
executable_path=executable_path,
@@ -47,4 +48,5 @@ def __init__(
4748
log_path=log_path,
4849
env=env,
4950
start_error_message="Please see https://chromedriver.chromium.org/home",
51+
**kwargs,
5052
)

py/selenium/webdriver/chromium/service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def __init__(
4040
log_path: typing.Optional[str] = None,
4141
env: typing.Optional[typing.Mapping[str, str]] = None,
4242
start_error_message: typing.Optional[str] = None,
43+
**kwargs,
4344
) -> None:
4445
self.service_args = service_args or []
4546
if log_path:
@@ -50,6 +51,7 @@ def __init__(
5051
port=port,
5152
env=env,
5253
start_error_message=start_error_message,
54+
**kwargs,
5355
)
5456

5557
def command_line_args(self) -> typing.List[str]:

py/selenium/webdriver/common/service.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def __init__(
5858
log_file: SubprocessStdAlias = DEVNULL,
5959
env: typing.Optional[typing.Mapping[typing.Any, typing.Any]] = None,
6060
start_error_message: typing.Optional[str] = None,
61+
**kwargs,
6162
) -> None:
6263
self.path = executable
6364
self.port = port or utils.free_port()

py/selenium/webdriver/edge/service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def __init__(
4343
log_path: typing.Optional[str] = None,
4444
service_args: typing.Optional[typing.List[str]] = None,
4545
env: typing.Optional[typing.Mapping[str, str]] = None,
46+
**kwargs,
4647
) -> None:
4748
self.service_args = service_args or []
4849

@@ -61,4 +62,5 @@ def __init__(
6162
log_path=log_path,
6263
env=env,
6364
start_error_message="Please download from https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/",
65+
**kwargs,
6466
)

py/selenium/webdriver/firefox/service.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,19 @@ def __init__(
4242
service_args: typing.Optional[typing.List[str]] = None,
4343
log_path: typing.Optional[str] = None,
4444
env: typing.Optional[typing.Mapping[str, str]] = None,
45+
**kwargs,
4546
) -> None:
4647
# Todo: This is vastly inconsistent, requires a follow up to standardise.
4748
file = log_path or "geckodriver.log"
4849
log_file = open(file, "a+", encoding="utf-8")
4950
self.service_args = service_args or []
50-
super().__init__(executable=executable_path, port=port, log_file=log_file, env=env)
51+
super().__init__(
52+
executable=executable_path,
53+
port=port,
54+
log_file=log_file,
55+
env=env,
56+
**kwargs,
57+
)
5158

5259
# Set a port for CDP
5360
if "--connect-existing" not in self.service_args:

py/selenium/webdriver/ie/service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def __init__(
3232
host: typing.Optional[str] = None,
3333
log_level: typing.Optional[str] = None,
3434
log_file: typing.Optional[str] = None,
35+
**kwargs,
3536
) -> None:
3637
"""Creates a new instance of the Service.
3738
@@ -56,6 +57,7 @@ def __init__(
5657
executable_path,
5758
port=port,
5859
start_error_message="Please download from https://www.selenium.dev/downloads/ and read up at https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver",
60+
**kwargs,
5961
)
6062

6163
def command_line_args(self) -> List[str]:

py/selenium/webdriver/safari/service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ def __init__(
4242
quiet: bool = False,
4343
service_args: typing.Optional[typing.List[str]] = None,
4444
env: typing.Optional[typing.Mapping[str, str]] = None,
45+
**kwargs,
4546
) -> None:
4647
self._check_executable(executable_path)
4748
self.service_args = service_args or []
@@ -52,6 +53,7 @@ def __init__(
5253
port=port,
5354
log_file=log_file, # type: ignore
5455
env=env,
56+
**kwargs,
5557
)
5658

5759
@staticmethod

py/selenium/webdriver/webkitgtk/service.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,17 @@ def __init__(
3939
log_path: typing.Optional[str] = None,
4040
service_args: typing.Optional[typing.List[str]] = None,
4141
env: typing.Optional[typing.Mapping[str, str]] = None,
42+
**kwargs,
4243
):
4344
self.service_args = service_args or []
4445
log_file = open(log_path, "wb") if log_path else None
45-
super().__init__(executable=executable_path, port=port, log_file=log_file, env=env) # type: ignore
46+
super().__init__(
47+
executable=executable_path,
48+
port=port,
49+
log_file=log_file,
50+
env=env,
51+
**kwargs,
52+
) # type: ignore
4653

4754
def command_line_args(self) -> typing.List[str]:
4855
return ["-p", f"{self.port}"] + self.service_args

py/selenium/webdriver/wpewebkit/service.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,17 @@ def __init__(
3939
log_path: typing.Optional[str] = None,
4040
service_args: typing.Optional[typing.List[str]] = None,
4141
env: typing.Optional[typing.Mapping[str, str]] = None,
42+
**kwargs,
4243
):
4344
self.service_args = service_args or []
4445
log_file = open(log_path, "wb") if log_path else None
45-
super().__init__(executable=executable_path, port=port, log_file=log_file, env=env) # type: ignore
46+
super().__init__(
47+
executable=executable_path,
48+
port=port,
49+
log_file=log_file,
50+
env=env,
51+
**kwargs,
52+
) # type: ignore
4653

4754
def command_line_args(self) -> typing.List[str]:
4855
return ["-p", f"{self.port}"] + self.service_args

0 commit comments

Comments
 (0)