Fix 'Welcome Tour'

Reviewed-on: #11
This commit is contained in:
augustin64 2024-04-13 11:07:04 +02:00
commit ed517e7b03

35
V6.py
View File

@ -9,6 +9,8 @@ from modules.db import add_to_database
from modules.driver_tools import * from modules.driver_tools import *
from modules.error import * from modules.error import *
import random
# create a webdriver # create a webdriver
def create_driver(mobile=False): def create_driver(mobile=False):
@ -196,6 +198,27 @@ def do_poll():
# Find each playable card and tries to click on it to earn points # Find each playable card and tries to click on it to earn points
def all_cards(): def all_cards():
driver = config.WebDriver.driver driver = config.WebDriver.driver
def check_welcome_tour() -> bool:
if "rewards.bing.com/welcometour" not in driver.current_url:
return False
info("Popup 'Explorer le programme' reçue")
wait_until_visible(By.ID, "welcome-tour", timeout=5, browser=driver)
custom_sleep(1.5)
welcome_tour = driver.find_element(By.ID, "welcome-tour")
interest_button_box = welcome_tour.find_element(By.CLASS_NAME, "interest-buttons")
interests = interest_button_box.find_elements(By.CLASS_NAME, "ng-binding")
debug("Got the following interests: "+str(interests))
random.choice(interests).click() # Choose interest
custom_sleep(1.5)
claim_button = welcome_tour.find_element(By.ID, "claim-button")
claim_button.click() # submit
custom_sleep(1.5)
return True
driver.get("https://rewards.bing.com") driver.get("https://rewards.bing.com")
wait_until_visible(By.CLASS_NAME, "c-card-content", 10, driver) wait_until_visible(By.CLASS_NAME, "c-card-content", 10, driver)
@ -239,8 +262,11 @@ def all_cards():
if i == len(card_list) and i > 15: if i == len(card_list) and i > 15:
checked = False checked = False
if checked: if not checked:
continue
custom_sleep(1.5) custom_sleep(1.5)
check_welcome_tour()
driver.execute_script("arguments[0].scrollIntoView();", card_list[i]) driver.execute_script("arguments[0].scrollIntoView();", card_list[i])
custom_sleep(1.5) custom_sleep(1.5)
card_list[i].click() card_list[i].click()
@ -254,9 +280,13 @@ def all_cards():
driver.refresh() driver.refresh()
card_list = driver.find_elements(By.CLASS_NAME, "c-card-content") card_list = driver.find_elements(By.CLASS_NAME, "c-card-content")
if "mee-icon-AddMedium" in card_list[i].get_attribute("innerHTML"): if "mee-icon-AddMedium" not in card_list[i].get_attribute("innerHTML"):
continue
check_welcome_tour()
driver.execute_script("arguments[0].scrollIntoView();", card_list[i]) driver.execute_script("arguments[0].scrollIntoView();", card_list[i])
card_list[i].click() card_list[i].click()
driver.switch_to.window(driver.window_handles[1]) driver.switch_to.window(driver.window_handles[1])
custom_sleep(10) custom_sleep(10)
log_error(f"Card {i} Can't be completed. Why MS ?") log_error(f"Card {i} Can't be completed. Why MS ?")
@ -269,6 +299,7 @@ def all_cards():
except Exception as e: except Exception as e:
debug(e) debug(e)
driver.get("https://rewards.bing.com") driver.get("https://rewards.bing.com")
except Exception as err: except Exception as err:
log_error(err) log_error(err)
custom_sleep(3) custom_sleep(3)