diff --git a/src/activities.py b/src/activities.py index 5aef119c..8ec45e62 100644 --- a/src/activities.py +++ b/src/activities.py @@ -1,7 +1,9 @@ import random import time +from selenium.common import NoSuchElementException from selenium.webdriver.common.by import By +from selenium.webdriver.remote.webelement import WebElement from src.browser import Browser @@ -21,10 +23,17 @@ def openDailySetActivity(self, cardId: int): def openMorePromotionsActivity(self, cardId: int): # Open the More Promotions activity for the given cardId - self.webdriver.find_element( - By.XPATH, - f'//*[@id="more-activities"]/div/mee-card[{cardId}]/div/card-content/mee-rewards-more-activities-card-item/div/a', - ).click() + activity: WebElement + try: + activity = self.webdriver.find_element( + By.XPATH, + f'//*[@id="more-activities"]/div/mee-card[{cardId}]/div/card-content/mee-rewards-more-activities-card-item/div/a', + ) + # Handle when card is big, appears to be random + except NoSuchElementException: + activity = self.webdriver.find_element(By.XPATH, + "//mee-card-group[@id=\'more-activities\']/div/mee-card/div/card-content/mee-rewards-more-activities-card-item/div/a") + activity.click() self.browser.utils.switchToNewTab(timeToWait=8) def completeSearch(self):