fixed wrong shipping options handling (#239)

This commit is contained in:
Heavenfighter
2023-12-16 12:46:23 +01:00
committed by GitHub
parent c7e8869fc4
commit ed340f50f8

View File

@@ -511,6 +511,8 @@ class KleinanzeigenBot(SeleniumMixin):
except NoSuchElementException as ex: except NoSuchElementException as ex:
LOG.debug(ex, exc_info = True) LOG.debug(ex, exc_info = True)
elif ad_cfg["shipping_options"]: elif ad_cfg["shipping_options"]:
self.web_click(By.XPATH, '//*[contains(@class, "jsx-2623555103")]')
self.web_click(By.XPATH, '//*[contains(@class, "CarrierSelectionModal--Button")]')
self.__set_shipping_options(ad_cfg) self.__set_shipping_options(ad_cfg)
else: else:
try: try:
@@ -700,17 +702,17 @@ class KleinanzeigenBot(SeleniumMixin):
raise ValueError("You can only specify shipping options for one package size!") raise ValueError("You can only specify shipping options for one package size!")
shipping_size, = unique_shipping_sizes shipping_size, = unique_shipping_sizes
self.web_click(By.XPATH, f'//*[contains(@class, "ShippingOption")]//input[@type="radio" and @data-testid="{shipping_size}"]') self.web_click(By.XPATH, f'//*[contains(@class, "SingleSelectionItem--Main")]//input[@type="radio" and @data-testid="{shipping_size}"]')
for shipping_package in shipping_packages: for shipping_package in shipping_packages:
self.web_click( self.web_click(
By.XPATH, By.XPATH,
'//*[contains(@class, "CarrierOptionsPopup")]' '//*[contains(@class, "CarrierSelectionModal")]'
'//*[contains(@class, "CarrierOption")]' '//*[contains(@class, "CarrierOption")]'
f'//input[@type="checkbox" and @data-testid="{shipping_package}"]' f'//*[contains(@class, "CarrierOption--Main") and @data-testid="{shipping_package}"]'
) )
self.web_click(By.XPATH, '//*[contains(@class, "ReactModalPortal")]//button[.//*[text()[contains(.,"Weiter")]]]') self.web_click(By.XPATH, '//*[contains(@class, "ModalDialog--Actions")]//button[.//*[text()[contains(.,"Fertig")]]]')
except NoSuchElementException as ex: except NoSuchElementException as ex:
LOG.debug(ex, exc_info = True) LOG.debug(ex, exc_info = True)