2016-01-12 16 views
18

WKWebView kullanarak bir web sitesinde oturum açıyorum ve şimdi sitenin html'sini ayrıştırmak istiyorum. Web sitelerine html'ye nasıl hızlıca erişebilirim? Bir UIWebView için nasıl çalıştığını biliyorum ama WKWebView için değil.WKWebview 'den HTML' ye atla Swift

Yardımlarınız için teşekkürler!

cevap

38

sayfa yüklenene kadar kullanabilirsiniz beklerseniz:

webView.evaluateJavaScript("document.documentElement.outerHTML.toString()", 
          completionHandler: { (html: Any?, error: Error?) in 
    print(html) 
}) 

Ayrıca HTML geri döndüren bazı javascript enjekte edebilir. çalıştı

webkit.messageHandlers.didGetHTML.postMessage(document.documentElement.outerHTML.toString()); 
+0

:

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) } } } 

javascript enjekte olabilir gibi bir şey görünüyor! Çok teşekkürler! Iç-