# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class WebDriverSettings(Model):
    """Additional arguments, options and preferences that can be passed to the
    started WebDriver and browser.

    :param arguments: Command line switches that can be passed to the browser
     at startup. It is applicable for both chromium based browsers and for
     firefox.
    :type arguments: list[str]
    :param preferences: List of preferences for browsers that can be passed at
     startup. In case of Chromium based options it will be a user profile
     preference. In case of Firefox profiles it will be a preference.
    :type preferences: list[~kameleo.local_api_client.models.Preference]
    :param additional_options: List of additional WebDriver options that can
     be passed at startup. It is applicable for both chromium based browsers
     and for firefox.
    :type additional_options:
     list[~kameleo.local_api_client.models.Preference]
    """

    _attribute_map = {
        'arguments': {'key': 'arguments', 'type': '[str]'},
        'preferences': {'key': 'preferences', 'type': '[Preference]'},
        'additional_options': {'key': 'additionalOptions', 'type': '[Preference]'},
    }

    def __init__(self, **kwargs):
        super(WebDriverSettings, self).__init__(**kwargs)
        self.arguments = kwargs.get('arguments', None)
        self.preferences = kwargs.get('preferences', None)
        self.additional_options = kwargs.get('additional_options', None)
