Так что я пытаюсь сделать скриншот живого трансляционного движения и ничего больше.Но по некоторым причинам размеры просто не установлены правильно.Ранее я получал правильные размеры / скриншот на другом мониторе, но теперь я думаю, что я как-то по сути жестко запрограммировал размеры.Как мне сделать получение размеров достаточно независимым для платформы?Раньше местоположение было задано правильно, но теперь один из двух элементов продолжает иметь значение 0. И высота всегда кажется равной 0. Я получаю неправильный элемент id элемента со страницы подергивания?
import os
import time
from selenium import webdriver
from PIL import Image
from io import BytesIO
class TwitchScreenshotGrabber:
def __init__(self, channel_url):
self.channel_url = channel_url
def grab_screenshot_from_livestream(self):
browser = webdriver.Chrome('/Users/hellothere/Downloads/chromedriver')
browser.get(self.channel_url)
time.sleep(5)
element = browser.find_element_by_id('default-player')
location = element.location
size = element.size # why isnt it getting a height value????
png = browser.get_screenshot_as_png() # saves screenshot of entire page
browser.quit()
image = Image.open(BytesIO(png))
cropped_image = self.crop_png(image, location, size)
self.save_screenshot(cropped_image)
def crop_png(self, image, location, size):
print(location, size)
left = location['x']
top = location['y']
right = location['x'] + size['width']
bottom = location['y']
return image.crop((left, top, right, bottom))