Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- """
- Code Segment Commissioned by Team +234
- """
- @app.get("/paypal")
- async def _paypal(email :str,
- password :Optional[str] =None,
- limit :Optional[int] =None,
- mean_arrival_rate:Optional[float]=None,
- )->Response:#Union[Response,FileResponse]:
- """
- log me in! (PayPal)
- Use Case: shekeler heckler
- """
- await logger.adebug('_paypal %s %s %s %s', email, password, limit, mean_arrival_rate)
- _url:str = 'https://www.paypal.com/us/signin'
- return await _login_helper(_paypal_helper, _url, email, password, limit, mean_arrival_rate)
- def _paypal_helper(driver:WebDriver, email:str, passwd:str, mean_arrival_rate:Optional[float])->Optional[str]:
- """ demonstrate the paypal login sequence """
- logger.debug('_paypal_helper %s %s', email, passwd)
- assert isinstance(passwd,str)
- logger.debug('looking for the email')
- _email = find_element(driver, mean_arrival_rate,
- (By.XPATH, "//input[@id='email']"),
- (By.ID, 'email'),
- (By.XPATH, "//input[@name='login_email']"),
- (By.NAME, 'login_email'),
- (By.XPATH, "//input[@placeholder='Email or mobile number']"),
- (By.XPATH, "//input[@aria-desribedby='emailErrorMessage']"),
- fallback=None)
- logger.debug('trying email')
- _email.send_keys(email)
- random_wait(mean_arrival_rate)
- logger.debug('entered email')
- logger.debug('looking for the next')
- _next = find_element(driver, mean_arrival_rate,
- (By.XPATH, "//button[@id='btnNext']"),
- (By.ID, 'btnNext'),
- (By.XPATH, "//button[@name='btnNext']"),
- (By.NAME, 'signin-continue-btn'),
- (By.XPATH, "//button[@value='Next']"),
- (By.XPATH, "//button[text()='Next']"),
- fallback=_email,
- )
- logger.debug('found the next')
- logger.debug('looking for password')
- _passwd = find_element(driver, mean_arrival_rate,
- (By.XPATH, "//input[@id='password']"),
- (By.ID, 'password'),
- (By.XPATH, "//input[@name='login_password']"),
- (By.NAME, 'login_password'),
- (By.XPATH, "//input[@placeholder='Password']"),
- (By.XPATH, "//input[@aria-describedby='passwordErrorMessage']"),
- fallback=None)
- logger.debug('trying password %s', passwd)
- _passwd.send_keys(passwd)
- random_wait(mean_arrival_rate)
- logger.debug('entered password')
- logger.debug('looking for the login')
- _login = find_element(driver, mean_arrival_rate,
- (By.XPATH, "//button[@id='btnLogin']"),
- (By.ID, 'btnLogin'),
- (By.XPATH, "//button[@name='btnLogin']"),
- (By.NAME, 'btnLogin'),
- (By.XPATH, "//button[@value='Login']"),
- (By.XPATH, "//button[text()='Log In']"),
- fallback=_passwd)
- logger.debug('clicked the login or pressed enter')
- try:
- logger.debug('looking for logout')
- _logout = find_element(driver, mean_arrival_rate,
- (By.XPATH, "//a[@id='header-logout']"),
- (By.ID, 'header-logout'),
- (By.XPATH, "//a[@name='header-logout']"),
- (By.NAME, 'header-logout'),
- (By.XPATH, "//a[@data-name='header-logout']"),
- (By.XPATH, "//a[@data-pa-click='header-logout']"),
- (By.XPATH, "//a[text()='Log Out']"),
- fallback=None)
- logger.debug('found the logout')
- return passwd
- except NoSuchElementException as e:
- logger.error('could not find logout: %s', e)
- return None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement