[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
🔍 better error handling in case of not correct text
Browse files Browse the repository at this point in the history
  • Loading branch information
mraniki committed May 21, 2023
1 parent 857a120 commit ce838e4
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 37 deletions.
75 changes: 39 additions & 36 deletions src/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,52 +24,55 @@ def data_selector():
text_value = worksheet.acell(f'E{i}').value
text_status = worksheet.acell(f'F{i}').value
if text_status != 'Done':
break
logger.info("Data to submit: %s", text_value)
if text_value != '#ERROR!':
break
logger.info("Text selected: %s", text_value)
return text_value


def data_update():
cell = worksheet.find(text_value)
logger.debug(cell)
logger.debug(cell.address)
worksheet.update(f'F{cell.address[1:]}', 'Done')
logger.info("Spreasheet updated")


async def navigator():
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)
if settings.activeflag == "True":
logger.info("Submitting")
await page.click(settings.selector3)
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)
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)
if settings.activeflag == "True":
logger.info("Submitting")
await page.click(settings.selector3)
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)

# ⛓️API
app = FastAPI(title="navigator",)
Expand Down
2 changes: 1 addition & 1 deletion src/default_settings.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[default]
loglevel="INFO"
loglevel="DEBUG"
host="0.0.0.0"
port="8080"
activeflag="False"
Expand Down

0 comments on commit ce838e4

Please sign in to comment.