diff --git a/src/kleinanzeigen_bot/__init__.py b/src/kleinanzeigen_bot/__init__.py index 24bb750..afc0917 100644 --- a/src/kleinanzeigen_bot/__init__.py +++ b/src/kleinanzeigen_bot/__init__.py @@ -887,8 +887,8 @@ class KleinanzeigenBot(WebScrapingMixin): except TimeoutError as ex: LOG.debug(ex, exc_info = True) elif ad_cfg["shipping_options"]: - await self.web_click(By.XPATH, '//*[contains(@class, "ShippingSection")]//*//button[contains(@class, "SelectionButton")]') - await self.web_click(By.CSS_SELECTOR, '[class*="CarrierSelectionModal--Button"]') + await self.web_click(By.XPATH, '//*[contains(@class, "SubSection")]//*//button[contains(@class, "SelectionButton")]') + await self.web_click(By.CSS_SELECTOR, '[class*="CarrierSelectionModal"]') await self.__set_shipping_options(ad_cfg) else: try: @@ -899,8 +899,8 @@ class KleinanzeigenBot(WebScrapingMixin): await self.web_select(By.XPATH, special_shipping_selector, shipping_value) else: await self.web_click(By.XPATH, - '//*[contains(@class, "ShippingSection")]//*//button[contains(@class, "SelectionButton")]') - await self.web_click(By.CSS_SELECTOR, '[class*="CarrierSelectionModal--Button"]') + '//*[contains(@class, "SubSection")]//*//button[contains(@class, "SelectionButton")]') + await self.web_click(By.CSS_SELECTOR, '[class*="CarrierSelectionModal"]') await self.web_click(By.CSS_SELECTOR, '[class*="CarrierOption--Main"]') if ad_cfg["shipping_costs"]: await self.web_input(By.CSS_SELECTOR, '.IndividualShippingInput input[type="text"]', str.replace(ad_cfg["shipping_costs"], ".", ",") @@ -966,9 +966,13 @@ class KleinanzeigenBot(WebScrapingMixin): except TimeoutError as ex: LOG.debug(ex, exc_info = True) - await self.web_click(By.XPATH, '//*[contains(@class, "ModalDialog--Actions")]//button[.//*[text()[contains(.,"Fertig")]]]') except TimeoutError as ex: LOG.debug(ex, exc_info = True) + try: + # Click apply button + await self.web_click(By.XPATH, '//*[contains(@class, "ModalDialog--Actions")]//button[.//*[text()[contains(.,"Bestätigen")]]]') + except TimeoutError as ex: + raise TimeoutError(_("Unable to close shipping dialog!")) from ex async def __upload_images(self, ad_cfg: dict[str, Any]) -> None: LOG.info(" -> found %s", pluralize("image", ad_cfg["images"])) diff --git a/src/kleinanzeigen_bot/resources/translations.de.yaml b/src/kleinanzeigen_bot/resources/translations.de.yaml index 9123750..127e575 100644 --- a/src/kleinanzeigen_bot/resources/translations.de.yaml +++ b/src/kleinanzeigen_bot/resources/translations.de.yaml @@ -137,6 +137,8 @@ kleinanzeigen_bot/__init__.py: fill_login_data_and_send: "Logging in as [%s]...": "Anmeldung als [%s]..." + __set_shipping_options: + "Unable to close shipping dialog!": "Versanddialog konnte nicht geschlossen werden!" ################################################# kleinanzeigen_bot/extract.py: