Снять скриншот определенной области страницы, используя 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д