[英] Get HTML from WKWebview in Swift
我使用WKWebView登录到一个网站,现在我想解析该网站的html.如何在swift中访问网站html?我知道它如何适用于UIWebView,但不适用于WKWebView.
谢谢你的帮助!
我使用WKWebView登录到一个网站,现在我想解析该网站的html.如何在swift中访问网站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());
如何将一个 SwiftUI 视图作为变量传递给另一个视图结构
SwiftUI 中 ObservedObject 和 StateObject 有什么区别
Swift 用户界面.如何更改 TextField 的占位符 colored颜色 ?
SwiftUI-> 线程 1:致命错误:未找到 MyObject.Type 类型的可观察对象(工作表中的 EnvironmentObject)
无法从构建环境获取 Google 服务文件中的 GOOGLE_APP_ID
如何在 SwiftUI 中修改 List 的背景 colored颜色 ?
Xcode 一直显示:-1: SWIFT_VERSION '5.0' is unsupported, 支持的版本是:3.0, 4.0, 4.2.任何解决方案?
Xcode 构建错误 - 多个命令生成 .o,目标“ProjectCoreData”具有两次列出的 Swift 源文件的编译命令