18
我使用WKWebView登錄網站,現在我想解析網站的html。我如何在swift中訪問網站的html?我知道它如何適用於UIWebView,但不適用於WKWebView。在Swift中從WKWebview獲取HTML
感謝您的幫助!
我使用WKWebView登錄網站,現在我想解析網站的html。我如何在swift中訪問網站的html?我知道它如何適用於UIWebView,但不適用於WKWebView。在Swift中從WKWebview獲取HTML
感謝您的幫助!
如果你等到頁面加載,你可以使用:
webView.evaluateJavaScript("document.documentElement.outerHTML.toString()",
completionHandler: { (html: Any?, error: Error?) in
print(html)
})
你也可以注入一些JavaScript返回你回來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)
}
}
}
的JavaScript你可以注入看起來像:
webkit.messageHandlers.didGetHTML.postMessage(document.documentElement.outerHTML.toString());
這工作!非常感謝! – MotoxX
修改後的cssRule內部的