[go: nahoru, domu]

Skip to content
This repository has been archived by the owner on Feb 6, 2024. It is now read-only.

Commit

Permalink
🐛 bot blocked in case of timeout
Browse files Browse the repository at this point in the history
  • Loading branch information
mraniki committed May 22, 2023
1 parent ce838e4 commit 3ac5599
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 33 deletions.
66 changes: 36 additions & 30 deletions src/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,42 +37,48 @@ def data_update():


async def navigator():
try:
while True:
async with async_playwright() as playwright:
chromium = playwright.chromium
browser = await chromium.launch()
page = await browser.new_page()
await page.goto(settings.url)
element = await page.query_selector(settings.check_identifier)
check = await page.evaluate(
'(element) => element.textContent',
element)
logger.debug(check)
data = re.findall(r'\d+', check)
logger.info(data)
data_process = int(data[0]) + int(data[1])
logger.info("Control: %s", data_process)
await page.keyboard.type(data_selector())
await page.click(settings.check_selector)
await page.keyboard.type(f"{data_process}")
await page.click(settings.selector1)
await page.click(settings.selector2)
await page.screenshot(path="loaded.png", full_page=True)
await asyncio.sleep(5)
while True:
async with async_playwright() as playwright:
chromium = playwright.chromium
browser = await chromium.launch()
page = await browser.new_page()
await page.goto(settings.url)
element = await page.query_selector(settings.check_identifier)
check = await page.evaluate(
'(element) => element.textContent',
element)
logger.debug(check)
data = re.findall(r'\d+', check)
logger.info(data)
data_process = int(data[0]) + int(data[1])
logger.info("Control: %s", data_process)
await page.keyboard.type(data_selector())
# await page.click(settings.check_selector)
await page.locator(settings.check_selector).click()
await page.keyboard.type(f"{data_process}")
await page.locator(settings.selector1).click()
# await page.click(settings.selector2)
await page.locator(settings.selector2).click()
await page.screenshot(path="loaded.png", full_page=True)
await asyncio.sleep(5)
try:
if settings.activeflag == "True":
logger.info("Submitting")
await page.click(settings.selector3)
# await page.click(settings.selector3)
await page.locator(settings.selector3).click()
await asyncio.sleep(5)
await page.screenshot(path="success.png", full_page=True)
data_update()
logger.info("Submit Done")
await browser.close()
sleep = random.randint(72, 3606)
logger.info("sleeping: %s", sleep)
await asyncio.sleep(sleep)
except Exception as e:
logger.error("Bot issue: %s", e)
await browser.close()
else:
logger.info("skipping submission")
except Exception as e:
logger.error("Bot issue: %s", e)
sleep = random.randint(72, 3606)
logger.info("sleeping: %s", sleep)
await asyncio.sleep(sleep)


# ⛓️API
app = FastAPI(title="navigator",)
Expand Down
7 changes: 4 additions & 3 deletions src/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
envvar_prefix="MORPHO",
root_path=os.path.dirname(ROOT),
settings_files=[
os.path.join(ROOT,
"default_settings.toml"),
os.path.join(ROOT, "default_settings.toml"),
'settings.toml',
'.secrets.toml'
],
Expand All @@ -27,4 +26,6 @@
logger = logging.getLogger("MORPHO")
if settings.loglevel == "DEBUG":
logging.getLogger("websockets.client").setLevel(logging.WARNING)
logging.getLogger("playwright").setLevel(logging.WARNING)
# logging.getLogger("playwright").setLevel(logging.WARNING)
logging.getLogger("urllib3.connectionpool").setLevel(logging.WARNING)

0 comments on commit 3ac5599

Please sign in to comment.