Advertisement
InnovAnon-Inc

paypal-login

Aug 6th, 2024
2,371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.85 KB | Source Code | 0 0
  1. #! /usr/bin/env python
  2.  
  3. """
  4. Code Segment Commissioned by Team +234
  5. """
  6.  
  7.     @app.get("/paypal")
  8.     async def _paypal(email            :str,
  9.                     password         :Optional[str]  =None,
  10.                     limit            :Optional[int]  =None,
  11.                     mean_arrival_rate:Optional[float]=None,
  12.     )->Response:#Union[Response,FileResponse]:
  13.         """
  14.        log me in! (PayPal)
  15.        Use Case: shekeler heckler
  16.        """
  17.         await logger.adebug('_paypal %s %s %s %s', email, password, limit, mean_arrival_rate)
  18.         _url:str = 'https://www.paypal.com/us/signin'
  19.         return await _login_helper(_paypal_helper, _url, email, password, limit, mean_arrival_rate)
  20.  
  21.     def _paypal_helper(driver:WebDriver, email:str, passwd:str, mean_arrival_rate:Optional[float])->Optional[str]:
  22.         """ demonstrate the paypal login sequence """
  23.         logger.debug('_paypal_helper %s %s', email, passwd)
  24.         assert isinstance(passwd,str)
  25.  
  26.         logger.debug('looking for the email')
  27.         _email = find_element(driver, mean_arrival_rate,
  28.             (By.XPATH, "//input[@id='email']"),
  29.             (By.ID, 'email'),
  30.             (By.XPATH, "//input[@name='login_email']"),
  31.             (By.NAME, 'login_email'),
  32.             (By.XPATH, "//input[@placeholder='Email or mobile number']"),
  33.             (By.XPATH, "//input[@aria-desribedby='emailErrorMessage']"),
  34.             fallback=None)
  35.         logger.debug('trying email')
  36.         _email.send_keys(email)
  37.         random_wait(mean_arrival_rate)
  38.         logger.debug('entered email')
  39.  
  40.         logger.debug('looking for the next')
  41.         _next   = find_element(driver, mean_arrival_rate,
  42.             (By.XPATH, "//button[@id='btnNext']"),
  43.             (By.ID, 'btnNext'),
  44.             (By.XPATH, "//button[@name='btnNext']"),
  45.             (By.NAME, 'signin-continue-btn'),
  46.             (By.XPATH, "//button[@value='Next']"),
  47.             (By.XPATH, "//button[text()='Next']"),
  48.             fallback=_email,
  49.         )
  50.         logger.debug('found the next')
  51.  
  52.         logger.debug('looking for password')
  53.         _passwd = find_element(driver, mean_arrival_rate,
  54.             (By.XPATH, "//input[@id='password']"),
  55.             (By.ID, 'password'),
  56.             (By.XPATH, "//input[@name='login_password']"),
  57.             (By.NAME, 'login_password'),
  58.             (By.XPATH, "//input[@placeholder='Password']"),
  59.             (By.XPATH, "//input[@aria-describedby='passwordErrorMessage']"),
  60.             fallback=None)
  61.         logger.debug('trying password %s', passwd)
  62.         _passwd.send_keys(passwd)
  63.         random_wait(mean_arrival_rate)
  64.         logger.debug('entered password')
  65.  
  66.         logger.debug('looking for the login')
  67.         _login = find_element(driver, mean_arrival_rate,
  68.             (By.XPATH, "//button[@id='btnLogin']"),
  69.             (By.ID, 'btnLogin'),
  70.             (By.XPATH, "//button[@name='btnLogin']"),
  71.             (By.NAME, 'btnLogin'),
  72.             (By.XPATH, "//button[@value='Login']"),
  73.             (By.XPATH, "//button[text()='Log In']"),
  74.             fallback=_passwd)
  75.         logger.debug('clicked the login or pressed enter')
  76.  
  77.         try:
  78.             logger.debug('looking for logout')
  79.             _logout = find_element(driver, mean_arrival_rate,
  80.                 (By.XPATH, "//a[@id='header-logout']"),
  81.                 (By.ID, 'header-logout'),
  82.                 (By.XPATH, "//a[@name='header-logout']"),
  83.                 (By.NAME, 'header-logout'),
  84.                 (By.XPATH, "//a[@data-name='header-logout']"),
  85.                 (By.XPATH, "//a[@data-pa-click='header-logout']"),
  86.                 (By.XPATH, "//a[text()='Log Out']"),
  87.                 fallback=None)
  88.             logger.debug('found the logout')
  89.             return passwd
  90.         except NoSuchElementException as e:
  91.             logger.error('could not find logout: %s', e)
  92.         return None
  93.  
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement