From db1c1879e91796acd9a9ff18775848d1e80636e4 Mon Sep 17 00:00:00 2001 From: Dmitry Afanasyev Date: Sun, 13 Feb 2022 12:46:15 +0300 Subject: [PATCH] add twitch bonus with selenium --- twitch_bonus.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 twitch_bonus.py diff --git a/twitch_bonus.py b/twitch_bonus.py new file mode 100644 index 0000000..27f0ac7 --- /dev/null +++ b/twitch_bonus.py @@ -0,0 +1,50 @@ +import sys +import time +import atexit + +from loguru import logger +from selenium import webdriver +from selenium.webdriver.firefox.service import Service +from selenium.webdriver.firefox import options +from urllib3.exceptions import MaxRetryError + +logger.remove() +logger.add(sink=sys.stdout, colorize=True, level='DEBUG', + format="{time} | {level} | " + "{message}") + +opt = options.Options() +opt.headless = False +service = Service(executable_path=r'./geckodriver') +driver = webdriver.Firefox(service=service, options=opt) + + +def exit_log(message: str): + logger.info(message) + try: + driver.close() + except MaxRetryError: + pass + + +if __name__ == '__main__': + try: + try: + driver.get("https://www.twitch.tv/lol4to22") + + logger.info('you have 60 seconds to login') + time.sleep(10) + logger.info('time for login is up') + except Exception as e: + logger.error(f'Open page exception: {e}') + + while True: + try: + elem = driver.find_element(by='css selector', value='[aria-label="Claim Bonus"]') + elem.click() + logger.info('Bonus +50 has been clicked!') + except Exception as e: + pass + time.sleep(15) + except KeyboardInterrupt as e: + atexit.register(exit_log, 'Exit script')