Снять скриншот определенной области страницы, используя Selenium - Python
Формулировка задачи:
Всем доброго дня. Selenium умеет снимать скриншот всей страницы на ура:
Своим скриптом я автоматизировал некие моменты и мне необходимо получить сохраненное изображение капчи с последующей отправкой ее мне в телеграм. На данный момент все работает, но коряво... Я граблю заданную область капчи PILом и все работает...НО это работает только при развернутой странице (потому как PILу необходимо грабить то что видно на экране), а selenium умеет работать при свернутом браузере, вот и хотелось бы как-нибудь заставить selenium снимать скриншот определенной области или же просто сохранять найденное изображение по xpath, например, так как URL капчи каждый раз новый... Возможно задача решается элементарно, но что-то как-то..... Заранее большое спасибо.
Решение задачи: «Снять скриншот определенной области страницы, используя Selenium»
textual
Листинг программы
from PIL import Image
img_id = driver.find_element_by_id('captcha-id')
loc = img_id.location
size = img_id.size
left = loc['x']
top = loc['y']
right = loc['x'] + size['width']
bottom = loc['y'] + size['height']
scrsht = 'Captcha.png'
driver.save_screenshot(scrsht)
img = Image.open(scrsht)
img = img.crop((left, top, right, bottom))
img.save(scrsht)