mirror of
https://github.com/ThePhaseless/Byparr.git
synced 2025-03-15 17:50:21 +08:00
remove screenshots, improve logging and add timeout for button
This commit is contained in:
parent
0178eeec68
commit
ede99e0d5c
@ -1,4 +1,4 @@
|
|||||||
from pathlib import Path
|
import asyncio
|
||||||
|
|
||||||
import nodriver as webdriver
|
import nodriver as webdriver
|
||||||
from nodriver.core.element import Element
|
from nodriver.core.element import Element
|
||||||
@ -19,18 +19,19 @@ async def new_browser():
|
|||||||
async def bypass_cloudflare(page: webdriver.Tab):
|
async def bypass_cloudflare(page: webdriver.Tab):
|
||||||
challenged = False
|
challenged = False
|
||||||
while True:
|
while True:
|
||||||
await page
|
|
||||||
await page.wait(0.5)
|
await page.wait(0.5)
|
||||||
logger.debug(page.target.title)
|
logger.debug(f"Current page: {page.target.title}")
|
||||||
if page.target.title not in CHALLENGE_TITLES:
|
if page.target.title not in CHALLENGE_TITLES:
|
||||||
return challenged
|
return challenged
|
||||||
if not challenged:
|
if not challenged:
|
||||||
logger.info("Found challenge")
|
logger.info("Found challenge")
|
||||||
await page.save_screenshot(Path("screenshots/screenshot.png"))
|
|
||||||
challenged = True
|
challenged = True
|
||||||
Path("screenshots").mkdir(exist_ok=True)
|
try:
|
||||||
logger.debug("Clicking element")
|
elem = await asyncio.wait_for(
|
||||||
await page.save_screenshot(Path("screenshots/screenshot.png"))
|
page.query_selector(".cf-turnstile-wrapper"), timeout=3
|
||||||
elem = await page.query_selector(".cf-turnstile-wrapper")
|
)
|
||||||
|
except asyncio.TimeoutError:
|
||||||
|
logger.warning("Timed out waiting for element, trying again")
|
||||||
|
continue
|
||||||
if isinstance(elem, Element):
|
if isinstance(elem, Element):
|
||||||
await elem.mouse_click()
|
await elem.mouse_click()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user