从Swift的WKWebview获取HTML

我使用WKWebView登录到一个网站,现在我想解析网站的html.如何在 swift中访问html?我知道它如何适用于UIWebView,但不适用于WKWebView.

谢谢你的帮助!

如果您等到页面加载完毕,您可以使用:
webView.evaluateJavaScript("document.documentElement.outerHTML.toString()",completionHandler: { (html: Any?,error: Error?) in
    print(html)
})

您还可以注入一些返回HTML的JavaScript.

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());

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...