Welcome Tour #11

Merged
augustin64 merged 8 commits from explorer-le-programme into master 2024-04-13 11:07:04 +02:00

87
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,39 +262,47 @@ 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:
custom_sleep(1.5) continue
custom_sleep(1.5)
check_welcome_tour()
driver.execute_script("arguments[0].scrollIntoView();", card_list[i])
custom_sleep(1.5)
card_list[i].click()
if len(driver.window_handles) > 1:
driver.switch_to.window(driver.window_handles[1])
try_play(driver.title)
close_tab(driver.window_handles[1])
try:
driver.refresh()
card_list = driver.find_elements(By.CLASS_NAME, "c-card-content")
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])
custom_sleep(1.5)
card_list[i].click() card_list[i].click()
if len(driver.window_handles) > 1: driver.switch_to.window(driver.window_handles[1])
driver.switch_to.window(driver.window_handles[1]) custom_sleep(10)
try_play(driver.title) log_error(f"Card {i} Can't be completed. Why MS ?")
close_tab(driver.window_handles[1])
try: try:
driver.refresh() try_play(driver.title) # go back to the main page
card_list = driver.find_elements(By.CLASS_NAME, "c-card-content") try:
close_tab(driver.window_handles[1])
except Exception as e:
debug(e)
except Exception as e:
debug(e)
driver.get("https://rewards.bing.com")
if "mee-icon-AddMedium" in card_list[i].get_attribute("innerHTML"): except Exception as err:
driver.execute_script("arguments[0].scrollIntoView();", card_list[i]) log_error(err)
card_list[i].click() custom_sleep(3)
driver.switch_to.window(driver.window_handles[1])
custom_sleep(10)
log_error(f"Card {i} Can't be completed. Why MS ?")
try:
try_play(driver.title) # go back to the main page
try:
close_tab(driver.window_handles[1])
except Exception as e:
debug(e)
except Exception as e:
debug(e)
driver.get("https://rewards.bing.com")
except Exception as err:
log_error(err)
custom_sleep(3)
def promo(): def promo():