Python - Скриншот элемента:
Это довольно старый вопрос, на который есть несколько ответов. Однако кажется, что снимок экрана определенного веб-элемента с использованием Python здесь отсутствует.
место
Веб-элемент имеет свою собственную позицию на странице и, как правило, измеряется в пикселях x и y и известен как (x, y) координаты элемента. И объект местоположения содержит два значения.
- location [‘x’] - возвращает координату ‘x’ элемента
- location [‘y’] - возвращает координату ‘y’ элемента
размер
Как и местоположение, каждый WebElement имеет ширину и высоту; Доступен как размер объекта.
- size [‘width’] - возвращает «width» элемента
- size [‘height’] - возвращает ‘height’ элемента
Используя координаты (x, y) и значения ширины, высоты, мы можем обрезать изображение и сохранить его в файле.
from selenium import webdriver
from PIL import Image
driver = webdriver.Firefox(executable_path='[Browser Driver Path]');
driver.get('https://www.google.co.in');
element = driver.find_element_by_xpath("//div[@id='hplogo']");
location = element.location;
size = element.size;
driver.save_screenshot("/data/image.png");
x = location['x'];
y = location['y'];
width = location['x']+size['width'];
height = location['y']+size['height'];
im = Image.open('/data/WorkArea/image.png')
im = im.crop((int(x), int(y), int(width), int(height)))
im.save('/data/image.png')
Примечание: Взято из http://allselenium.info/capture-screenshot-element-using-python-selenium-webdriver/