Вот шаги, чтобы получить скриншот веб-страницы
1) отправить сообщение из внедренного скрипта в расширение приложения, используя safari.extension.disptachMessage
2) Ниже будет вызван метод в классе SafariExtensionHandler.
func messageReceived(withName messageName: String, from page: SFSafariPage, userInfo: [String : Any]?)
3) Снимок экрана можно сделать с помощью параметра "page" в вышеупомянутой функции.
page.getScreenshotOfVisibleArea { (NSImage)
}
NSImage - скриншот веб-страницы
Помните, что вы можете получить только скриншот видимой в данный момент области веб-страницы, а не всей страницы.