Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/python
- # coding=utf-8
- import flickrapi
- from datetime import datetime
- from pyvirtualdisplay import Display
- from selenium import webdriver
- from selenium.common.exceptions import NoSuchElementException
- FLICKR_USERNAME = 'REDACTED'
- FLICKR_PASSWORD = 'ALSO_REDACTED'
- def log_into_flickr():
- loggit(u'Starting display for API access')
- display = Display(visible=False, size=(800, 600))
- display.start()
- loggit(u'Display started')
- loggit(u'Starting browser for API access')
- browser = webdriver.Firefox()
- loggit(u'Browser started')
- browser.implicitly_wait(10)
- loggit(u'Browser will implicitly wait 10 seconds.')
- loggit(u'Going to Flickr signin URL')
- browser.get('http://www.flickr.com/signin/')
- loggit_ss(browser, '1-web-signin-for-api-access')
- try:
- sign_in_fieldset = browser.find_element_by_id('fsLogin')
- loggit(u'Got sign-in page (or at least a page with #fsLogin in it)')
- except NoSuchElementException:
- loggit(u'Could not find #fsLogin on what we thought was the Yahoo!/Flickr sign-in page for API access. Hm.')
- try:
- yahoo_id_field = browser.find_element_by_name('login')
- loggit(u'Sending Flickr username: ' + FLICKR_USERNAME)
- yahoo_id_field.send_keys(FLICKR_USERNAME)
- except NoSuchElementException:
- loggit(u'-----NO LOGIN FIELD FOUND')
- try:
- yahoo_password_field = browser.find_element_by_name('passwd')
- loggit(u'Sending Flickr password: ' + FLICKR_PASSWORD)
- yahoo_password_field.send_keys(FLICKR_PASSWORD)
- except NoSuchElementException:
- loggit(u'-----NO PASSWORD FIELD FOUND')
- loggit_ss(browser, '1-1-web-signin-for-api-access_details-entered')
- loggit(u'Submitting')
- yahoo_password_field.submit()
- loggit(u'Submitted')
- try:
- loggit(u'Checking to see if we on the Flickr home page yet')
- h1_text = browser.find_element_by_tag_name('h1').text
- loggit_ss(browser, '2-flickr_homepage_maybe')
- if FLICKR_USERNAME in h1_text:
- loggit(u'We on the Flickr home page')
- got_to_flickr_homepage = True
- else:
- loggit(u'Hm. We found an h1, but it does not have ' + FLICKR_USERNAME + ' in its text. Here is its text: ' + h1_text)
- except NoSuchElementException:
- loggit(u'Hm. Thought this was the signed-in Flickr home page, but can not find an <h1> in it')
- loggit(u'Qutting browser')
- browser.quit()
- loggit(u'Browser quit')
- loggit(u'Stopping display')
- display.stop
- loggit(u'Display stopped')
- def loggit(message):
- print u'[%s] %s' % ( unicode( str( datetime.now().strftime('%Y-%m-%d %H:%M:%S') ) ), message)
- def loggit_ss(browser, prefix):
- loggit(u'Attempting to save screenshot')
- ss_filename = '/tmp/log_unfriendr__' + prefix + '__' + datetime.now().strftime('%Y-%m-%dT%H:%M:%S.%f') + '.png'
- browser.save_screenshot(ss_filename)
- loggit(u'Theoretically saved screenshot: ' + ss_filename)
- log_into_flickr()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement