Следующее позволяет определить, является ли рассматриваемая фигура группой:
from pptx.enum.shapes import MSO_SHAPE_TYPE
if shape.shape_type == MSO_SHAPE_TYPE.GROUP:
print("Yep, it's a group-shape alright.")
Ничто не мешает группе иметь только одного члена, так что это может быть ситуация, с которой вы столкнулись. Вы можете перечислить «подфигуры» в группе следующим образом:
if shape.shape_type == MSO_SHAPE_TYPE.GROUP:
group_shape = shape
print("Subshapes are:")
for s in group_shape.shapes:
print(" %s" % s.shape_type)
Другое дело, что рисунки не имеют текстовой рамки, как другие фигуры. Поэтому, если кто-то хочет, чтобы текстовый URL отображался на картинке, ему нужно было бы добавить форму текстового поля для его хранения, и он вполне мог бы сгруппировать их, чтобы их можно было перемещать вместе. Это также может объяснить ситуацию, которую вы видите.