Advertisement
Guest User

Selenium send_keys problem

a guest
Oct 11th, 2012
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.86 KB | None | 0 0
  1. #! /usr/bin/python
  2.  
  3. # coding=utf-8
  4.  
  5. import flickrapi
  6. from datetime import datetime
  7. from pyvirtualdisplay import Display
  8. from selenium import webdriver
  9. from selenium.common.exceptions import NoSuchElementException
  10.  
  11.  
  12. FLICKR_USERNAME = 'REDACTED'
  13. FLICKR_PASSWORD = 'ALSO_REDACTED'
  14.  
  15.  
  16. def log_into_flickr():
  17.     loggit(u'Starting display for API access')
  18.     display = Display(visible=False, size=(800, 600))
  19.     display.start()
  20.     loggit(u'Display started')
  21.    
  22.     loggit(u'Starting browser for API access')
  23.     browser = webdriver.Firefox()
  24.     loggit(u'Browser started')
  25.    
  26.     browser.implicitly_wait(10)
  27.     loggit(u'Browser will implicitly wait 10 seconds.')
  28.    
  29.     loggit(u'Going to Flickr signin URL')
  30.     browser.get('http://www.flickr.com/signin/')
  31.     loggit_ss(browser, '1-web-signin-for-api-access')
  32.    
  33.     try:
  34.         sign_in_fieldset = browser.find_element_by_id('fsLogin')
  35.         loggit(u'Got sign-in page (or at least a page with #fsLogin in it)')
  36.        
  37.     except NoSuchElementException:
  38.         loggit(u'Could not find #fsLogin on what we thought was the Yahoo!/Flickr sign-in page for API access. Hm.')
  39.    
  40.     try:
  41.         yahoo_id_field = browser.find_element_by_name('login')
  42.         loggit(u'Sending Flickr username: ' + FLICKR_USERNAME)
  43.         yahoo_id_field.send_keys(FLICKR_USERNAME)
  44.        
  45.     except NoSuchElementException:
  46.         loggit(u'-----NO LOGIN FIELD FOUND')
  47.    
  48.     try:
  49.         yahoo_password_field = browser.find_element_by_name('passwd')
  50.         loggit(u'Sending Flickr password: ' + FLICKR_PASSWORD)
  51.         yahoo_password_field.send_keys(FLICKR_PASSWORD)
  52.        
  53.     except NoSuchElementException:
  54.         loggit(u'-----NO PASSWORD FIELD FOUND')
  55.    
  56.     loggit_ss(browser, '1-1-web-signin-for-api-access_details-entered')
  57.    
  58.     loggit(u'Submitting')
  59.     yahoo_password_field.submit()
  60.     loggit(u'Submitted')
  61.    
  62.     try:
  63.         loggit(u'Checking to see if we on the Flickr home page yet')
  64.         h1_text = browser.find_element_by_tag_name('h1').text
  65.         loggit_ss(browser, '2-flickr_homepage_maybe')
  66.        
  67.         if FLICKR_USERNAME in h1_text:
  68.             loggit(u'We on the Flickr home page')
  69.             got_to_flickr_homepage = True
  70.         else:
  71.             loggit(u'Hm. We found an h1, but it does not have ' + FLICKR_USERNAME + ' in its text. Here is its text: ' + h1_text)
  72.    
  73.     except NoSuchElementException:
  74.         loggit(u'Hm. Thought this was the signed-in Flickr home page, but can not find an <h1> in it')
  75.  
  76.    
  77.     loggit(u'Qutting browser')
  78.     browser.quit()
  79.     loggit(u'Browser quit')
  80.    
  81.     loggit(u'Stopping display')
  82.     display.stop
  83.     loggit(u'Display stopped')
  84.  
  85.  
  86.  
  87.  
  88.  
  89. def loggit(message):
  90.     print u'[%s] %s' % ( unicode( str( datetime.now().strftime('%Y-%m-%d %H:%M:%S') ) ), message)
  91.  
  92.  
  93. def loggit_ss(browser, prefix):
  94.     loggit(u'Attempting to save screenshot')
  95.    
  96.     ss_filename = '/tmp/log_unfriendr__' + prefix + '__' + datetime.now().strftime('%Y-%m-%dT%H:%M:%S.%f') + '.png'
  97.     browser.save_screenshot(ss_filename)
  98.    
  99.     loggit(u'Theoretically saved screenshot: ' + ss_filename)
  100.  
  101.  
  102.  
  103.  
  104. log_into_flickr()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement