From a50dead2a7d1c03d9d50c4a7b79f0881cd384722 Mon Sep 17 00:00:00 2001 From: Philipp K Date: Mon, 7 Nov 2022 18:23:00 +0100 Subject: [PATCH] FIX edge case name without link --- kleinanzeigen_bot/__init__.py | 2 +- kleinanzeigen_bot/extract.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/kleinanzeigen_bot/__init__.py b/kleinanzeigen_bot/__init__.py index ac7e9c0..b1fb1d8 100644 --- a/kleinanzeigen_bot/__init__.py +++ b/kleinanzeigen_bot/__init__.py @@ -716,7 +716,7 @@ class KleinanzeigenBot(SeleniumMixin): n_images = int(image_counter.text[2:]) logger.info('Found %d images.', n_images) next_button = self.webdriver.find_element(By.CSS_SELECTOR, '.galleryimage--navigation--next') - except NoSuchElementException: + except (NoSuchElementException, IndexError): logger.info('Only one image found.') # download all images from box diff --git a/kleinanzeigen_bot/extract.py b/kleinanzeigen_bot/extract.py index ba4fb8f..f69dbd0 100644 --- a/kleinanzeigen_bot/extract.py +++ b/kleinanzeigen_bot/extract.py @@ -133,7 +133,10 @@ class AdExtractor: contact_person_element = self.driver.find_element(By.CSS_SELECTOR, '#viewad-contact') name_element = contact_person_element.find_element(By.CLASS_NAME, 'iconlist-text') - name = name_element.find_element(By.TAG_NAME, 'a').text + try: + name = name_element.find_element(By.TAG_NAME, 'a').text + except NoSuchElementException: # edge case: name without link + name = name_element.find_element(By.TAG_NAME, 'span').text contact['name'] = name if 'street' not in contact: