carrier / worker.py
not-pegasus's picture
Create worker.py
fd3fa6e verified
from playwright.sync_api import sync_playwright
def get_operator(phone_number: str) -> str:
with sync_playwright() as p:
browser = p.chromium.launch(
headless=True,
args=[
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-gpu",
"--disable-dev-shm-usage",
"--no-zygote"
]
)
context = browser.new_context()
page = context.new_page()
page.goto('https://paytm.com/recharge', wait_until='networkidle')
page.wait_for_selector('input[type="tel"]')
page.fill('input[type="tel"]', phone_number)
page.wait_for_function("""
() => {
const el = document.querySelector('div._1exI input[type="text"]');
return el && el.value && el.value.trim().length > 0;
}
""", timeout=15000)
operator = page.eval_on_selector('div._1exI input[type="text"]', 'el => el.value')
browser.close()
return operator