我想从Chrome网站上截取一个元素的屏幕截图。在截图之前,我向下滚动到包含以下代码的元素:
element = self.browser.find_element_by_class_name("class_name")
print(game_table.location)
self.browser.execute_script("arguments[0].scrollIntoView();", element)
在此之后,我不想在PIL的帮助下截取此元素的屏幕截图:
location = element.location
size = element.size
img = browser.get_screenshot_as_png()
img = Image.open(io.BytesIO(img))
left = location['x']
top = location['y']
right = left + size['width']
bottom = top + size['height']
cropBox = (left, top, right, bottom)
img = img.crop(cropBox)
img.save('screenshot.png')
element.location
给我元素的坐标。但屏幕截图将仅从视图中获取,因此我需要从y位置减去向下滚动的高度,以获得元素在视图中的位置。
如何获得向下滚动的高度?还是有更好的解决方案?