2016-01-12 7 views
18

私はWKWebViewを使用してウェブサイトにログインしています。今はウェブサイトのhtmlを解析したいと思います。迅速にウェブサイトHTMLにアクセスするにはどうすればよいですか?私はそれがUIWebViewのために働くがWKWebViewのためにはいかないことを知っている。SwiftのWKWebviewからHTMLを取得

ありがとうございました!

答えて

38

あなたは、ページがロードされるまで、あなたが使用することができます待つ場合:

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

また、あなたはHTMLを戻るいくつかのJavaScriptを注入できます。働い

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

ジャバスクリプトあなたが注入可能性は次のようになります!どうもありがとう! – MotoxX

+0

internal-