def test_yota_logon_selectors(): print(f'login_url={yota.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=yota.login_url, user_selectors=yota.user_selectors) self.main('check_logon')
def test_onlime_logon_selectors(): print(f'login_url={onlime.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=onlime.login_url, user_selectors=onlime.user_selectors) self.main('check_logon')
def test_test3_logon_selectors(): print(f'login_url={uminet.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=uminet.login_url, user_selectors=uminet.user_selectors) self.main('check_logon')
def test_a1by_logon_selectors(): print(f'login_url={a1by.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=a1by.login_url, user_selectors=a1by.user_selectors) self.main('check_logon')
def test_beeline_uz_logon_selectors(): print(f'login_url{beeline_uz.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=beeline_uz.login_url, user_selectors=beeline_uz.user_selectors) self.main('check_logon')
def test_rostelecom_logon_selectors(): print(f'login_url={rostelecom.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=rostelecom.login_url, user_selectors=rostelecom.user_selectors) self.main('check_logon')
def test_megafonb2b_logon_selectors(): print(f'login_url={megafonb2b.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=megafonb2b.login_url, user_selectors=megafonb2b.user_selectors) self.main('check_logon')
def main(login, password, storename=None): result = {} pyppeteeradd.clear_cache(storename) pa = pyppeteeradd.balance_over_puppeteer(login, password, storename) pa.browser_launch() # Нажмите кнопку "Демо-доступ" или введите логин [email protected] и пароль demo вручную. pa.page_goto('https://lk.saures.ru/dashboard') if pa.page_evaluate("document.getElementById('main-wrapper')!=null"): logging.info(f'Already login') else: for cnt in range(20): # Почему-то иногда с первого раза логон не проскакивает if pa.page_evaluate("document.querySelector('form input[type=password]') !== null"): logging.info(f'Login') pa.page_type("#email", login, {'delay': 10}) pa.page_type("#password", password, {'delay': 10}) pa.sleep(1) # await page.click("form button[type=submit]") # почему-то так не заработало pa.page_evaluate("document.querySelector('form button[type=submit]').click()") elif pa.page_evaluate("document.getElementById('main-wrapper')!=null"): logging.info(f'Logoned') break pa.sleep(1) if cnt==10: pa.page_reload('unclear: logged in or not') else: logging.error(f'Unknown state') raise RuntimeError(f'Unknown state') # Ждем появления информации for cnt in range(20): pa.sleep(1) if pa.page_evaluate("document.querySelector('.sensor-5 .d-inline')!=null"): break else: logging.error(f'Not found BALANCE') raise RuntimeError(f'Not found BALANCE') baltext = pa.page_evaluate("document.querySelector('.sensor-5 .d-inline').innerText") baltext = re.sub(r'[^\d|,|.-]','',baltext).replace(',', '.') result['Balance'] = float(baltext) block_status = pa.page_evaluate("document.querySelector('.sensor-9 .d-inline').innerText") if block_status is not None: result['BlockStatus'] = block_status else: logging.info(f'Not found BlockStatus') logging.debug(f'Data ready {result.keys()}') pa.browser_close() pyppeteeradd.clear_cache(storename) return result
def test_mosenergosbyt_logon_selectors(): print(f'login_url={mosenergosbyt.login_url}') self = pa.balance_over_puppeteer('test', 'test', 'test', login_url=mosenergosbyt.login_url, user_selectors=mosenergosbyt.user_selectors) self.main('check_logon')