在Swift中从WKWebview获取HTML
我使用WKWebView登录到一个网站,现在我想解析该网站的html。如何快速访问HTML网站?我知道它如何用于UIWebView但不适用于WKWebView。
谢谢你的帮助!
回答:
如果您等到页面加载完毕,则可以使用:
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());
以上是 在Swift中从WKWebview获取HTML 的全部内容, 来源链接: utcz.com/qa/398949.html