will merge gsm in project
This commit is contained in:
+21
-10
@@ -28,6 +28,7 @@ CONFIRMED_MESSAGE = "Your request for a Leather Goods appointment has been regis
|
||||
class CommandorPage:
|
||||
def __init__(self):
|
||||
self.otp_value = None
|
||||
self.logger = logging.getLogger("CommandorPage")
|
||||
|
||||
def _run(self, e: threading.Event, proxy, contact: ContactPojo, on_ready_for_otp, on_success):
|
||||
self.contact = contact
|
||||
@@ -41,14 +42,7 @@ class CommandorPage:
|
||||
# elif "firefox" in user_agent.lower():
|
||||
# self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
|
||||
# else:
|
||||
self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
|
||||
print("user_agent is " + user_agent)
|
||||
self.page = self.browser.new_page(
|
||||
user_agent=user_agent)
|
||||
# hide webdriver information
|
||||
self.page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""")
|
||||
self.page.on("load", self._on_page_loaded)
|
||||
self.page.goto(RDV_URL, timeout=90000)
|
||||
self.start_brower(proxy, pwright, user_agent)
|
||||
self._setPhoneCountry()
|
||||
self._setPhoneNumber(contact.phone)
|
||||
self._setName(contact.last_name, contact.first_name)
|
||||
@@ -63,19 +57,36 @@ class CommandorPage:
|
||||
on_ready_for_otp(e, self)
|
||||
event_is_set = e.wait()
|
||||
logging.info('event set: %s', event_is_set)
|
||||
self.fill_otp(self.otp_value)
|
||||
if self.otp_value:
|
||||
self.fill_otp(self.otp_value)
|
||||
self.clickOnValidBtn()
|
||||
otp_sent = self.page.locator(MESSAGE_FIELD_CLASS)
|
||||
otp_sent.wait_for(state='visible')
|
||||
message = self.page.content()
|
||||
print("message is:" + message)
|
||||
time.sleep(2)
|
||||
if CONFIRMED_MESSAGE in message:
|
||||
# publish the successful message
|
||||
print("url is " + self.page.url)
|
||||
self.publish_message_to_queue(contact, message, self.page.url)
|
||||
time.sleep(2)
|
||||
else:
|
||||
print("timeout")
|
||||
self.reset_air_plan_mode()
|
||||
# check and send successful event
|
||||
|
||||
def start_brower(self, proxy, pwright, user_agent):
|
||||
try:
|
||||
self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
|
||||
print("user_agent is " + user_agent)
|
||||
self.page = self.browser.new_page(
|
||||
user_agent=user_agent)
|
||||
# hide webdriver information
|
||||
self.page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""")
|
||||
self.page.on("load", self._on_page_loaded)
|
||||
self.page.goto(RDV_URL, timeout=90000)
|
||||
except Exception as error:
|
||||
self.logger.exception(error)
|
||||
|
||||
def start_page(self, proxy, contact: ContactPojo, on_ready_for_otp, on_sucess) -> threading.Event:
|
||||
e = threading.Event()
|
||||
t = threading.Thread(target=self._run, args=(e, proxy, contact, on_ready_for_otp, on_sucess))
|
||||
|
||||
Reference in New Issue
Block a user