Skip to content

Commit 68cd181

Browse files
[py] Force free ports for cdp in geckodriver
1 parent 9e8c7b3 commit 68cd181

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

py/selenium/webdriver/firefox/service.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
from typing import List
1919

20-
from selenium.webdriver.common import service
20+
from selenium.webdriver.common import (service, utils)
2121

2222

2323
class Service(service.Service):
@@ -48,9 +48,15 @@ def __init__(self, executable_path: str, port: int = 0, service_args: List[str]
4848
service.Service.__init__(
4949
self, executable_path, port=port, log_file=log_file, env=env)
5050
self.service_args = service_args or []
51+
# Set a port for CDP
52+
self.service_args.append("--websocket-port")
53+
self.service_args.append("%d" % utils.free_port())
54+
# Set the webdriver port
55+
self.service_args.append("--port")
56+
self.service_args.append("%d" % self.port)
5157

5258
def command_line_args(self) -> List[str]:
53-
return ["--port", "%d" % self.port] + self.service_args
59+
return self.service_args
5460

5561
def send_remote_shutdown_command(self):
5662
pass

0 commit comments

Comments
 (0)