diff --git a/README.md b/README.md index 0686e0d..6a03fd7 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,7 @@ browser: # --start-maximized binary_location: # path to custom browser executable, if not specified will be looked up on PATH extensions: [] # a list of .crx extension files to be loaded + use_private_window: true user_data_dir: "" # see https://github.com/chromium/chromium/blob/main/docs/user_data_dir.md profile_name: "" diff --git a/kleinanzeigen_bot/__init__.py b/kleinanzeigen_bot/__init__.py index 7dafd89..f40787c 100644 --- a/kleinanzeigen_bot/__init__.py +++ b/kleinanzeigen_bot/__init__.py @@ -273,6 +273,7 @@ class KleinanzeigenBot(SeleniumMixin): self.browser_config.arguments = self.config["browser"]["arguments"] self.browser_config.binary_location = self.config["browser"]["binary_location"] self.browser_config.extensions = [abspath(item, relative_to = self.config_file_path) for item in self.config["browser"]["extensions"]] + self.browser_config.use_private_window = self.config["browser"]["use_private_window"] self.browser_config.user_data_dir = abspath(self.config["browser"]["user_data_dir"], relative_to = self.config_file_path) self.browser_config.profile_name = self.config["browser"]["profile_name"] diff --git a/kleinanzeigen_bot/resources/config_defaults.yaml b/kleinanzeigen_bot/resources/config_defaults.yaml index a4e4c33..b63c045 100644 --- a/kleinanzeigen_bot/resources/config_defaults.yaml +++ b/kleinanzeigen_bot/resources/config_defaults.yaml @@ -34,6 +34,7 @@ browser: # --start-maximized binary_location: # path to custom browser executable, if not specified will be looked up on PATH extensions: [] # a list of .crx extension files to be loaded + use_private_window: true user_data_dir: "" # see https://github.com/chromium/chromium/blob/main/docs/user_data_dir.md profile_name: "" diff --git a/kleinanzeigen_bot/selenium_mixin.py b/kleinanzeigen_bot/selenium_mixin.py index f45f41c..98fffc1 100644 --- a/kleinanzeigen_bot/selenium_mixin.py +++ b/kleinanzeigen_bot/selenium_mixin.py @@ -36,6 +36,7 @@ class BrowserConfig: self.arguments:Iterable[str] = [] self.binary_location:str = None self.extensions:Iterable[str] = [] + self.use_private_window:bool = True self.user_data_dir:str = "" self.profile_name:str = "" @@ -50,10 +51,11 @@ class SeleniumMixin: LOG.info("Creating WebDriver session...") def init_browser_options(browser_options:ChromiumOptions): - if isinstance(browser_options, webdriver.EdgeOptions): - browser_options.add_argument("-inprivate") - else: - browser_options.add_argument("--incognito") + if self.browser_config.use_private_window: + if isinstance(browser_options, webdriver.EdgeOptions): + browser_options.add_argument("-inprivate") + else: + browser_options.add_argument("--incognito") if self.browser_config.user_data_dir: LOG.info(" -> Browser User Data Dir: %s", self.browser_config.user_data_dir)