Tsingis

Untitled

Sep 21st, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.chrome.options import Options
  3. from PIL import Image
  4. from io import BytesIO
  5. from time import sleep
  6.  
  7.  
  8. # Chrome options
  9. chrome_options = Options()
  10. chrome_options.add_argument('--headless')
  11. chrome_options.add_argument('--window-size=960x900')
  12.  
  13. # Define browser driver
  14. driver = os.environ['CHROME_DRIVER']
  15. browser = webdriver.Chrome(executable_path=driver,
  16. chrome_options=chrome_options)
  17.  
  18. # Screenshot
  19. def get_screenshot():
  20. # Go to url, move to right element on page and save screenshot
  21. browser.get('https://www.formula1.com/')
  22. sleep(5)
  23. element = browser.find_element_by_css_selector('.race.step-1.step-2.step-3')
  24. browser.execute_script('arguments[0].scrollIntoView()', element)
  25. browser.execute_script('window.scrollBy(0, -80)') # Scroll a bit up
  26. sleep(3) # Wait a bit for page to load
  27.  
  28. # Take screenshot and quit
  29. png = browser.get_screenshot_as_png()
  30. browser.quit()
  31.  
  32. # Store cropped screenshot as BytesIO output
  33. im = Image.open(BytesIO(png))
  34. im = im.crop((260, 70, 690, 560))
  35. output = BytesIO()
  36. im.save(output, 'PNG')
  37. output.seek(0)
  38.  
  39. return output
Add Comment
Please, Sign In to add comment