Самый простой способ сделать это (работает для данного конкретного случая):
webView.evaluateJavaScript("document.getElementsByTagName('pre')[0].innerHTML", completionHandler: { (res, error) in
if let fingerprint = res {
// Fingerprint will be a string of JSON. Parse here...
print(fingerprint)
}
})
Возможно, лучший способ сделать это:
Итак, .innerHTML
возвращает HTML, а не заголовок JSON. Общеизвестно, что JSON-заголовки трудно получить с помощью WKWebView
, но вы можете попробовать этот метод для этого. Первый набор:
webView.navigationDelegate = self
А затем в методе WKNavigationDelegate
:
public func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
let res = navigationResponse.response as! HTTPURLResponse
let header = res.allHeaderFields
print(header)
}