diff --git a/kleinanzeigen_bot/__init__.py b/kleinanzeigen_bot/__init__.py index 4c8fb78..36849c8 100644 --- a/kleinanzeigen_bot/__init__.py +++ b/kleinanzeigen_bot/__init__.py @@ -485,13 +485,17 @@ class KleinanzeigenBot(SeleniumMixin): LOG.debug(ex, exc_info = True) elif ad_cfg["shipping_options"]: self.__set_shipping_options(ad_cfg) - elif ad_cfg["shipping_costs"]: + else: try: - self.web_click(By.XPATH, '//*[contains(@class, "ShippingOption")]//input[@type="radio"]') - self.web_click(By.XPATH, '//*[contains(@class, "CarrierOptionsPopup")]//*[contains(@class, "IndividualPriceSection")]//input[@type="checkbox"]') - self.web_input(By.XPATH, '//*[contains(@class, "IndividualShippingInput")]//input[@type="text"]', - str.replace(ad_cfg["shipping_costs"], ".", ",")) - self.web_click(By.XPATH, '//*[contains(@class, "ReactModalPortal")]//button[.//*[text()[contains(.,"Weiter")]]]') + self.web_click(By.XPATH, '//*[contains(@class, "SelectionButton--Right")]') + self.web_click(By.XPATH, '//*[contains(@class, "CarrierSelectionModal--Button")]') + self.web_click(By.XPATH, '//*[contains(@class, "CarrierOption--Main")]') + if ad_cfg["shipping_costs"]: + self.web_input(By.XPATH, + '//*[contains(@class, "IndividualShippingInput")]//input[@type="text"]', + str.replace(ad_cfg["shipping_costs"], ".", ",") + ) + self.web_click(By.XPATH, '//*[contains(@class, "ModalDialog--Actions")]//button[.//*[text()[contains(.,"Fertig")]]]') except NoSuchElementException as ex: LOG.debug(ex, exc_info = True) diff --git a/pyproject.toml b/pyproject.toml index 911bf4b..1f8a7d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -173,7 +173,7 @@ max-attributes = 15 # maximum number of instance attributes for a class (R0902) max-branches = 30 # maximum number of branch for function / method body (R0912) max-locals = 30 # maximum number of local variables for function / method body (R0914) max-returns = 10 # maximum number of return / yield for function / method body (R0911) -max-statements = 80 # maximum number of statements in function / method body (R0915) +max-statements = 100 # maximum number of statements in function / method body (R0915) max-public-methods = 30 # maximum number of public methods for a class (R0904) @@ -186,4 +186,4 @@ max-public-methods = 30 # maximum number of public methods for a class (R0904) addopts = "--strict-markers -p no:cacheprovider --doctest-modules --ignore=__pypackages__ --ignore=kleinanzeigen_bot/__main__.py" markers = [ "itest: marks a test as an integration test (i.e. a test with external dependencies)" -] \ No newline at end of file +]