try new proxy when error
This commit is contained in:
+17
-3
@@ -3,9 +3,11 @@ import random
|
|||||||
import string
|
import string
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
|
from typing import Union
|
||||||
|
|
||||||
from playwright.sync_api import sync_playwright
|
from playwright.sync_api import sync_playwright
|
||||||
|
|
||||||
|
import params
|
||||||
from params import PROXY_SERVER, PROXY_PASSWORD
|
from params import PROXY_SERVER, PROXY_PASSWORD
|
||||||
from pojo.ReserveResultPojo import ReserveResultPojo, PublishType
|
from pojo.ReserveResultPojo import ReserveResultPojo, PublishType
|
||||||
from pojo.contact_pojo import ContactPojo
|
from pojo.contact_pojo import ContactPojo
|
||||||
@@ -40,7 +42,17 @@ class CommandorPage:
|
|||||||
# elif "firefox" in user_agent.lower():
|
# elif "firefox" in user_agent.lower():
|
||||||
# self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
|
# self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
|
||||||
# else:
|
# else:
|
||||||
self.start_brower(proxy, pwright, user_agent)
|
first_page = None
|
||||||
|
while first_page is None:
|
||||||
|
first_page = self.start_brower(proxy, pwright, user_agent)
|
||||||
|
proxy_username = "panleicim-cc-fr-sid-" + get_random_id_number_for_proxy()
|
||||||
|
self.logger.info("proxy_username is " + proxy_username)
|
||||||
|
proxy = {
|
||||||
|
"server": params.PROXY_SERVER,
|
||||||
|
"username": proxy_username,
|
||||||
|
"password": params.PROXY_PASSWORD
|
||||||
|
}
|
||||||
|
|
||||||
self._setPhoneCountryAndStore()
|
self._setPhoneCountryAndStore()
|
||||||
self._setPhoneNumber(contact.phone)
|
self._setPhoneNumber(contact.phone)
|
||||||
self._setName(contact.last_name, contact.first_name)
|
self._setName(contact.last_name, contact.first_name)
|
||||||
@@ -51,7 +63,7 @@ class CommandorPage:
|
|||||||
self.clickOnValidBtn()
|
self.clickOnValidBtn()
|
||||||
# self.page.goto("file:///Users/lpan/Downloads/input_otp.html")
|
# self.page.goto("file:///Users/lpan/Downloads/input_otp.html")
|
||||||
otp_input = self.page.locator(OTP_FIELD_ID)
|
otp_input = self.page.locator(OTP_FIELD_ID)
|
||||||
otp_input.wait_for(state='visible',timeout=90000)
|
otp_input.wait_for(state='visible', timeout=90000)
|
||||||
on_ready_for_otp(e, self)
|
on_ready_for_otp(e, self)
|
||||||
event_is_set = e.wait()
|
event_is_set = e.wait()
|
||||||
logging.info('event set: %s', event_is_set)
|
logging.info('event set: %s', event_is_set)
|
||||||
@@ -72,7 +84,7 @@ class CommandorPage:
|
|||||||
self.reset_air_plan_mode()
|
self.reset_air_plan_mode()
|
||||||
# check and send successful event
|
# check and send successful event
|
||||||
|
|
||||||
def start_brower(self, proxy, pwright, user_agent):
|
def start_brower(self, proxy, pwright, user_agent) -> Union[str, None]:
|
||||||
try:
|
try:
|
||||||
self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
|
self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
|
||||||
self.logger.info("user_agent is " + user_agent)
|
self.logger.info("user_agent is " + user_agent)
|
||||||
@@ -82,8 +94,10 @@ class CommandorPage:
|
|||||||
self.page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""")
|
self.page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""")
|
||||||
self.page.on("load", self._on_page_loaded)
|
self.page.on("load", self._on_page_loaded)
|
||||||
self.page.goto(RDV_URL, timeout=90000)
|
self.page.goto(RDV_URL, timeout=90000)
|
||||||
|
return self.page.content()
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
self.logger.exception(error)
|
self.logger.exception(error)
|
||||||
|
return None
|
||||||
|
|
||||||
def start_page(self, proxy, contact: ContactPojo, on_ready_for_otp, on_sucess) -> threading.Event:
|
def start_page(self, proxy, contact: ContactPojo, on_ready_for_otp, on_sucess) -> threading.Event:
|
||||||
e = threading.Event()
|
e = threading.Event()
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from typing import Union
|
|||||||
from gsmmodem import GsmModem
|
from gsmmodem import GsmModem
|
||||||
|
|
||||||
import params
|
import params
|
||||||
from commandor_page import CommandorPage, get_random_id_number_for_proxy
|
from commandor_page import CommandorPage
|
||||||
from logs.AppLogging import init_logger
|
from logs.AppLogging import init_logger
|
||||||
from modems.ModemPool import ModemPool
|
from modems.ModemPool import ModemPool
|
||||||
from modems.card_pool import CardPool
|
from modems.card_pool import CardPool
|
||||||
|
|||||||
Reference in New Issue
Block a user