base.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from seleniumbase import BaseCase
  2. class Tweet(object):
  3. def __init__(self, tweet=''):
  4. namerow = tweet + 'div.media-heading > div > .fullname-and-username > '
  5. self.fullname = namerow + '.fullname'
  6. self.username = namerow + '.username'
  7. self.date = tweet + 'div.media-heading > div > .heading-right'
  8. self.text = tweet + '.status-content-wrapper > .status-content.media-body'
  9. class Profile(object):
  10. fullname = '.profile-card-fullname'
  11. username = '.profile-card-username'
  12. bio = '.profile-bio'
  13. protected = '.protected-icon'
  14. verified = '.verified-icon'
  15. class BaseTestCase(BaseCase):
  16. def setUp(self):
  17. super(BaseTestCase, self).setUp()
  18. def tearDown(self):
  19. super(BaseTestCase, self).tearDown()
  20. def open_nitter(self, page=''):
  21. self.open(f'http://localhost:5000/{page}')
  22. def search_username(self, username):
  23. self.open_nitter()
  24. self.update_text('input', username)
  25. self.submit('form')
  26. def get_timeline_tweet(num=1):
  27. return Tweet(f'#tweets > div:nth-child({num}) > div > div ')