Obtenir du HTML à partir de WKWebView dans Swift
je me connecte à un site Web en utilisant WKWebView et maintenant je voudrais analyser le html du site web. Comment puis-je accéder aux sites html de swift? Je sais comment ça marche pour UIWebView mais pas pour WKWebView.
merci de votre aide!
22
demandé sur
MotoxX
2016-01-12 22:07:51
1 réponses
Si vous attendez jusqu'à ce que la page est chargée, vous pouvez utiliser:
webView.evaluateJavaScript("document.documentElement.outerHTML.toString()",
completionHandler: { (html: Any?, error: Error?) in
print(html)
})
vous pouvez aussi injecter du javascript qui vous renvoie le HTML.
let script = WKUserScript(source: javascriptString, injectionTime: injectionTime, forMainFrameOnly: true)
userContentController.addUserScript(script)
self.webView.configuration.userContentController.addScriptMessageHandler(self, name: "didGetHTML")
…
func userContentController(userContentController: WKUserContentController,
didReceiveScriptMessage message: WKScriptMessage) {
if message.name == "didGetHTML" {
if let html = message.body as? String {
print(html)
}
}
}
le javascript que vous pourriez injecter ressemble à quelque chose comme:
webkit.messageHandlers.didGetHTML.postMessage(document.documentElement.outerHTML.toString());
52
répondu
Onato
2017-05-09 10:36:34