try to emulator move

This commit is contained in:
2022-03-31 11:41:56 +02:00
parent fb0ce87de3
commit 1c2d02c8af
+36 -11
View File
@@ -24,12 +24,17 @@ MESSAGE_FIELD_CLASS = ".message"
CONFIRMED_MESSAGE = "Your request for a Leather Goods appointment has been registered" CONFIRMED_MESSAGE = "Your request for a Leather Goods appointment has been registered"
def get_random_wait_time()-> float:
wait_time = random.randint(0,10)/10.0 * 2
return wait_time
class CommandorPage: class CommandorPage:
def __init__(self): def __init__(self):
self.otp_value = None self.otp_value = None
self.logger = logging.getLogger("CommandorPage") self.logger = logging.getLogger("CommandorPage")
def _run(self, e: threading.Event, proxy, contact: ContactPojo, on_ready_for_otp, on_success): def _run(self, e: threading.Event, proxy, contact: ContactPojo, on_ready_for_otp, on_success):
self.contact = contact self.contact = contact
self.on_success_listener = on_success self.on_success_listener = on_success
@@ -56,10 +61,16 @@ class CommandorPage:
} }
self._setPhoneCountryAndStore() self._setPhoneCountryAndStore()
time.sleep(get_random_wait_time())
self.page.mouse.wheel(0, 50)
self._setPhoneNumber(contact.phone) self._setPhoneNumber(contact.phone)
time.sleep(get_random_wait_time())
self._setName(contact.last_name, contact.first_name) self._setName(contact.last_name, contact.first_name)
time.sleep(get_random_wait_time())
self._set_email(contact.mail) self._set_email(contact.mail)
time.sleep(get_random_wait_time())
self.setIdNumber(contact.passport) self.setIdNumber(contact.passport)
self.page.mouse.wheel(0, random.randint(200,300))
self._checkCgu() self._checkCgu()
# wait for sms_code field # wait for sms_code field
self.clickOnValidBtn() self.clickOnValidBtn()
@@ -76,7 +87,7 @@ class CommandorPage:
otp_sent.wait_for(state='visible') otp_sent.wait_for(state='visible')
message = self.page.content() message = self.page.content()
# print("message is:" + message) # print("message is:" + message)
time.sleep(2) time.sleep(get_random_wait_time())
if CONFIRMED_MESSAGE in message: if CONFIRMED_MESSAGE in message:
# publish the successful message # publish the successful message
self.logger.info("url is " + self.page.url) self.logger.info("url is " + self.page.url)
@@ -120,6 +131,7 @@ class CommandorPage:
def _setPhoneCountryAndStore(self): def _setPhoneCountryAndStore(self):
# document.getElementById("prefer").value = \"faubourg\"; # document.getElementById("prefer").value = \"faubourg\";
self.page.evaluate("""()=>{ self.page.evaluate("""()=>{
document.getElementById("phone_country").focus();
document.getElementById("phone_country").value = \"FR\" }""") document.getElementById("phone_country").value = \"FR\" }""")
def _setPhoneNumber(self, phoneNumber): def _setPhoneNumber(self, phoneNumber):
@@ -128,7 +140,9 @@ class CommandorPage:
def _setName(self, lastName, firstName): def _setName(self, lastName, firstName):
self.page.evaluate("""(name)=> { self.page.evaluate("""(name)=> {
document.getElementById("surname").focus();
document.getElementById("surname").value = name.lastName; document.getElementById("surname").value = name.lastName;
document.getElementById("name").focus();
document.getElementById("name").value = name.firstName}""", {'lastName': lastName, 'firstName': firstName}) document.getElementById("name").value = name.firstName}""", {'lastName': lastName, 'firstName': firstName})
def getErrors(self): def getErrors(self):
@@ -137,13 +151,20 @@ class CommandorPage:
print(items.inner_html()) print(items.inner_html())
def _set_email(self, email): def _set_email(self, email):
self.page.evaluate("""(email)=>document.getElementById("email").value = email""", email) self.page.evaluate("""(email)=>{
document.getElementById("email").focus();
document.getElementById("email").value = email;}""", email)
def setIdNumber(self, id): def setIdNumber(self, id):
self.page.evaluate(""" (id) => document.getElementById("passport_id").value = id""", id) self.page.evaluate(""" (id) =>{
document.getElementById("passport_id").focus();
document.getElementById("passport_id").value = id}""", id)
def _checkCgu(self): def _checkCgu(self):
self.page.evaluate("""document.getElementById("cgu").checked = true; self.page.evaluate("""
document.getElementById("cgu").focus();
document.getElementById("cgu").checked = true;
document.getElementById("processing").focus();
document.getElementById("processing").checked = true""") document.getElementById("processing").checked = true""")
def clickOnValidBtn(self): def clickOnValidBtn(self):
@@ -153,6 +174,8 @@ class CommandorPage:
pass pass
def fill_otp(self, otp: str): def fill_otp(self, otp: str):
self.page.focus(OTP_FIELD_ID)
time.sleep(get_random_wait_time())
self.page.fill(OTP_FIELD_ID, otp) self.page.fill(OTP_FIELD_ID, otp)
def reset_air_plan_mode(self): def reset_air_plan_mode(self):
@@ -215,10 +238,12 @@ def wait_for_otp(event: threading.Event, commandor: CommandorPage):
if __name__ == '__main__': if __name__ == '__main__':
# event = launch_page(wait_for_otp) # event = launch_page(wait_for_otp)
import urllib.request time = get_random_wait_time()
print(time)
proxy = urllib.request.ProxyHandler({'https': 'http://panleicim-res-fr-121:94sY7zwBG13i@gw.ntnt.io:5959'}) # import urllib.request
opener = urllib.request.build_opener(proxy) #
urllib.request.install_opener(opener) # proxy = urllib.request.ProxyHandler({'https': 'http://panleicim-res-fr-121:94sY7zwBG13i@gw.ntnt.io:5959'})
content = urllib.request.urlopen('https://api.ipify.org').read() # opener = urllib.request.build_opener(proxy)
print(content) # urllib.request.install_opener(opener)
# content = urllib.request.urlopen('https://api.ipify.org').read()
# print(content)