from selenium import webdriver
from PIL import Image
from io import BytesIO
driver = webdriver.Chrome()
driver.get("https://www.douban.com/")
def get_long_shot(driver,table_element):
table_location = table_element.location
table_size = table_element.size
driver.set_window_size(table_size["width"], table_size["height"])
driver.set_window_position(table_location["x"], table_location["y"])
long_screenshot = Image.new('RGB', (table_size["width"], table_size["height"]))
scroll_position = 0
while scroll_position < table_size["height"]:
driver.execute_script(f"window.scrollTo(0, {scroll_position})")
screenshot = Image.open(BytesIO(driver.get_screenshot_as_png()))
long_screenshot.paste(screenshot, (0, scroll_position))
scroll_position += screenshot.height
scroll_position = 0
while scroll_position < table_size["width"]:
driver.execute_script(f"window.scrollTo({scroll_position}, 0)")
screenshot = Image.open(BytesIO(driver.get_screenshot_as_png()))
long_screenshot.paste(screenshot, (scroll_position, 0))
scroll_position += screenshot.width
long_screenshot.save("table_long_screenshot.png")

- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39