From d9787eacd3fa576a0d5aaa90c1e14ae97e9aec14 Mon Sep 17 00:00:00 2001 From: Artem Lavrenov Date: Sun, 17 Mar 2024 15:37:25 +0300 Subject: [PATCH] FIX:rostelecom qiwi platiuslugi --- changelist.md | 12 ++++++------ plugin/rostelecom.py | 13 +++++++------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/changelist.md b/changelist.md index 14fda28..67be0f2 100644 --- a/changelist.md +++ b/changelist.md @@ -592,9 +592,9 @@ FIX: Исправлена проверка баланса chailand (av-park.ru) ## mbplugin v1.00.69 (19.02.24) fix PLAYWRIGHT_BROWSERS_PATH FIX: при использовании PLAYWRIGHT_BROWSERS_PATH возникала ошибка при открытии браузера в mts и при открытии профиля браузера -## mbplugin v1.00.70 (16.03.24) coming soon -FIX: python 3.12 compatibility -FIX: Исправлен выбор суммы задолженности (без учета комиссии при оплате через РКЦ).(d1mdev) -FIX: Восстановлен, а точнее написан заново, функционал проверки баланса МТС через привязанный номер, когда мы логинимся в номер 9161234567, а проверяем баланс 9177654321. В поле логин номер пишем в виде 9161234567/9177654321 -FIX: Исправлена форма входа оператор uminet - +## mbplugin v1.00.70 (17.03.24) rostelecom qiwi, mts over another number, nashdom, uminet +FIX: python 3.12 compatibility. +FIX: Провайдер nashdom. Исправлен выбор суммы задолженности (без учета комиссии при оплате через РКЦ).(d1mdev). +FIX: МТС. Восстановлен, а точнее написан заново, функционал проверки баланса МТС через привязанный номер, когда мы логинимся в номер 9161234567, а проверяем баланс 9177654321. В поле логин номер пишем в виде 9161234567/9177654321. +FIX: Исправлена форма входа оператор uminet. +FIX: Ростелеком. Восстановлена работа в варианте qiwi (используется сайт https://platiuslugi.ru), т.е. запрос платежного провайдера без авторизации по номеру ЛС , флаг qiwi ставил чтобы не нужно было ничего исправлять, если есть желание можно использовать флаг, оба варианта plugin_mode=QIWI и plugin_mode=platiuslugi равнозначны. diff --git a/plugin/rostelecom.py b/plugin/rostelecom.py index 634e5d5..785adc5 100644 --- a/plugin/rostelecom.py +++ b/plugin/rostelecom.py @@ -34,22 +34,23 @@ def data_collector(self): class browserengine_qiwi(browsercontroller.BrowserController): def data_collector(self): - self.page_goto('https://qiwi.com/payment/form/32558') + self.page_goto('https://platiuslugi.ru/oplata/rostelecom/') self.sleep(3) self.page_screenshot() - self.page_evaluate("document.querySelectorAll('form input[type=tel]')[0].click()") + self.page_evaluate("document.querySelector('input.form-control').click()") acc_num = self.acc_num if self.acc_num.isdigit() else self.login - self.page_fill('form input[type=tel]', acc_num) + self.page_fill('input.form-control', acc_num) + self.page_click('button.submit') for num in range(10): self.sleep(1) - if '/containers$' in str(self.responses.keys()): + if self.page_evaluate('''document.querySelector('input.form-control[name*="BALANCE"]')''') is not None: break else: self.page_screenshot() return self.page_screenshot() # pp list(self.responses.values())[-1]['elements'][0]['value'] - self.result['Balance'] = [v for k, v in self.responses.items() if '/containers$' in k][0]['elements'][0]['value'] + self.result['Balance'] = self.page_evaluate('''document.querySelector('input.form-control[name*="BALANCE"]').value''').replace(',', '.') def get_balance(login, password, storename=None, **kwargs): @@ -57,7 +58,7 @@ def get_balance(login, password, storename=None, **kwargs): store.update_settings(kwargs) store.turn_logging() pkey = store.get_pkey(login, plugin_name=__name__) - if store.options('plugin_mode', pkey=pkey).upper() == 'QIWI': + if store.options('plugin_mode', pkey=pkey).upper() in ('QIWI', 'PLATIUSLUGI'): return browserengine_qiwi(login, password, storename, plugin_name=__name__).main() else: return browserengine(login, password, storename, plugin_name=__name__, headless=browsercontroller.NOT_IN_CHROME).main() # ростелеком в headless не работает