这听起来很直接,我知道我会被告知只是获取网址会话的内容。但我特别想知道源代码是否可以从浏览器的最终渲染(post-javascript / JSON格式化)中派生出来
编辑:我遇到问题,发帖是已处理的内容。当我使用swift / objective-c或Java下载url的内容时,内容字符串具有基于Json搜索首选项的搜索结果的占位符。但是,在浏览器中,右键单击并选择“查看源”时,可以看到完整的结果页面。我需要一种以编程方式获取此post-js处理内容的方法。
编辑:我已经在webView中加载了代码。这是我的代码:
func loadAddressURL() {
let url = "https://www.adomain.com/apath"
let URL = NSURL(string: url)!
let request = NSURLRequest(URL: URL)
webView.mainFrame.loadRequest(request)
}
答案 0 :(得分:4)
使用WKWebView
,即Apple的recommended class为新代码嵌入网页视图。然后你可以通过它执行Javascript来获得后期渲染HTML:
// self.webView is a WKWebView
// In viewDidLoad() or applicationDidFinishLaunching()
self.webView.navigationDelegate = self
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
webView.evaluateJavaScript("document.getElementsByTagName('html')[0].innerHTML") { innerHTML, error in
print(innerHTML!)
}
}