File size: 1,059 Bytes
fd3fa6e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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