1515# specific language governing permissions and limitations
1616# under the License.
1717import typing
18- from typing import List
1918
2019from selenium .types import SubprocessStdAlias
2120from selenium .webdriver .common import service
@@ -40,16 +39,20 @@ def __init__(
4039 - executable_path : Path to the IEDriver
4140 - port : Port the service is running on
4241 - host : IP address the service port is bound
43- - log_level : Level of logging of service, may be "FATAL ", "ERROR ", "WARN ", "INFO ", "DEBUG", "TRACE ".
44- Default is "FATAL ".
42+ - log_level : Level of logging of service, may be "DEBUG ", "INFO ", "WARNING ", "ERROR ", "CRITICAL ".
43+ Default is "WARNING ".
4544 - log_output: (Optional) int representation of STDOUT/DEVNULL, any IO instance or String path to file.
4645 Default is "stdout".
4746 """
48- self .service_args = service_args or []
47+ if service_args is None :
48+ service_args = []
49+ self ._service_args = service_args
50+
4951 if host :
50- self .service_args .append (f"--host={ host } " )
52+ self ._service_args .append (f"--host-{ host } " )
53+
5154 if log_level :
52- self .service_args .append (f"--log-level= { log_level } " )
55+ self ._service_args .append (f"--log-level- { log_level } " )
5356
5457 super ().__init__ (
5558 executable_path ,
@@ -58,5 +61,15 @@ def __init__(
5861 ** kwargs ,
5962 )
6063
61- def command_line_args (self ) -> List [str ]:
62- return [f"--port={ self .port } " ] + self .service_args
64+ @property
65+ def service_args (self ):
66+ return self ._service_args
67+
68+ @service_args .setter
69+ def service_args (self , value ):
70+ if not isinstance (value , list ):
71+ raise TypeError ("Service args must be a list" )
72+ self ._service_args .extend (value )
73+
74+ def command_line_args (self ) -> typing .List [str ]:
75+ return [f"--port={ self .port } " ] + self ._service_args
0 commit comments