venmo.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:bank_wrangler 作者: tmerr 项目源码 文件源码
def fetch(config, fileobj):
    user, password = config

    # use the user's regular firefox profile instead of a fresh temporary one.
    # this is to avoid getting fingerprinted as a new device which generates
    # annoying emails and asks for additional info. luckily this profile is
    # cloned into a temporary directory, so we can change preferences without
    # affecting the original copy.
    profile = FirefoxProfile(_firefox_default_profile())
    # disable a json viewer that's enabled by default in firefox 53+.
    profile.set_preference('devtools.jsonview.enabled', False)
    driver = Firefox(profile)

    driver.get('https://venmo.com/account/sign-in/')
    user_elem = driver.find_element_by_name('phoneEmailUsername')
    user_elem.clear()
    user_elem.send_keys(user.value)
    password_elem = driver.find_element_by_name('password')
    password_elem.clear()
    password_elem.send_keys(password.value)
    password_elem.send_keys(Keys.RETURN)

    WebDriverWait(driver, 15).until(title_contains('Welcome'))

    params = '?start_date=2009-01-01&end_date={}-01-01'.format(datetime.now().year + 1)
    url = 'https://api.venmo.com/v1/transaction-history' + params
    driver.get(url)

    # validate json and raise ValueError on failure.
    pre = driver.find_element_by_tag_name('pre').text
    json.loads(pre)

    driver.quit()
    fileobj.write('{}\n'.format(user.value))
    fileobj.write(pre)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号