From d6ba71c133a4ed2c9a7bd7f97b2c0c7b4f1905cd Mon Sep 17 00:00:00 2001 From: Cal Williams <9409256+cal4@users.noreply.github.com> Date: Sat, 6 Jul 2024 11:08:08 -0400 Subject: [PATCH] Handle when cards go big mode --- src/activities.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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):