Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from selenium.webdriver.chrome.options import Options
- from PIL import Image
- from io import BytesIO
- from time import sleep
- # Chrome options
- chrome_options = Options()
- chrome_options.add_argument('--headless')
- chrome_options.add_argument('--window-size=960x900')
- # Define browser driver
- driver = os.environ['CHROME_DRIVER']
- browser = webdriver.Chrome(executable_path=driver,
- chrome_options=chrome_options)
- # Screenshot
- def get_screenshot():
- # Go to url, move to right element on page and save screenshot
- browser.get('https://www.formula1.com/')
- sleep(5)
- element = browser.find_element_by_css_selector('.race.step-1.step-2.step-3')
- browser.execute_script('arguments[0].scrollIntoView()', element)
- browser.execute_script('window.scrollBy(0, -80)') # Scroll a bit up
- sleep(3) # Wait a bit for page to load
- # Take screenshot and quit
- png = browser.get_screenshot_as_png()
- browser.quit()
- # Store cropped screenshot as BytesIO output
- im = Image.open(BytesIO(png))
- im = im.crop((260, 70, 690, 560))
- output = BytesIO()
- im.save(output, 'PNG')
- output.seek(0)
- return output
Add Comment
Please, Sign In to add comment