2016-05-31 25 views
-1

這聽起來很直接,我知道我會被告知只是得到一個url會話的內容。但我特別想知道源代碼是否可以從瀏覽器的最終呈現(後JavaScript/JSON格式)是否可以提取在webview中加載的URL的源代碼?

編輯:我有一個問題,獲取後處理內容。當我使用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

請提供更多關於此的信息。你想在WebPage中運行JavaScript還是什麼? –

+0

所以你不需要源代碼,你想要執行它的結果。 Java不這樣做。 – EJP

+0

謝謝。我將用Swift來嘗試Code Different的答案。 – dbconfession

回答

2

使用WKWebView,這是蘋果的recommended class嵌入新代碼的Web視圖。然後你可以通過執行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!) 
    } 
} 
+0

當'webView'加載URL時,您所調用的函數不會被調用。我已經編輯了我的OP,以包括我在「webView」中加載URL的方式。 – dbconfession

+0

因爲您正在使用'UIWebView'而不是'WKWebView'。蘋果推薦以後 –

相關問題