服用這個範例,即可取得完整畫面的screen shot.
from selenium import webdriver from PIL import Image url = "http://your-url-here" save_filename = "your-filename.png" option = webdriver.ChromeOptions() option.add_argument('--headless') option.add_argument('--disable-gpu') option.add_argument("--window-size=1280,1024") option.add_argument("--hide-scrollbars") driver = webdriver.Chrome(chrome_options=option) driver.get(url) scroll_width = driver.execute_script('return document.body.parentNode.scrollWidth') scroll_height = driver.execute_script('return document.body.parentNode.scrollHeight') driver.set_window_size(scroll_width, scroll_height) driver.save_screenshot(save_filename) element = driver.find_element_by_xpath("//div[@id='your_id_here']"); location = element.location; size = element.size; x = location['x']; y = location['y']; width = location['x']+size['width']; height = location['y']+size['height']; im = Image.open(save_filename) im = im.crop((int(x), int(y), int(width), int(height))) im.save('your_corped_image.png')
除了完整畫面scrren shot,也可以單獨對element 做 save screen shot,範例:
img_captcha.screenshot('captcha.png')
相關文章:
[Python] 圖片降噪
https://stackoverflow.max-everyday.com/2019/06/python-opencv-denoising/