2016-05-31 11 views
-1

これはまっすぐに聞こえますが、私はただURLセッションの内容を取得するように指示されることを知っています。私が問題になっポストがコンテンツを処理していることだ。しかし、私は、特にソースコードがブラウザの最終的なレンダリング(ポストジャバスクリプト/ JSONフォーマット)webviewに読み込まれたURLのソースコードを抽出することはできますか?

編集から得ることができるかどうかを知りたいです。私はSWIFT/Objective-CのまたはJavaのいずれかを使用してURLのコンテンツをダウンロードすると、コンテンツの文字列が、JSONの検索プリファレンスに基づいて検索結果のプレースホルダを持っています。ただし、ブラウザでは、右クリックして[ソースを表示]を選択すると、完全な結果ページが表示されます。私はプログラムでこのpost-js処理されたコンテンツを取得する方法が必要です。

編集:私はWebViewの中にコードをロードしました。 Appleのrecommended classは、新しいコードのためのWebビューを埋め込むことである

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

ありがとうございます。私は迅速にCode Differentの答えを試してみるつもりです。 – dbconfession

答えて

2

使用WKWebView、:ここに私のコードです。次にレンダリング後のHTMLを取得するためにJavascriptを実行することができます:

// 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をロードすると、あなたは、詳細ました関数が呼び出されていません。私は 'webView'でURLをどのようにロードするかを含めるようにOPを編集しました。 – dbconfession

+0

あなたが代わりに '' WKWebView'のUIWebView'を使用しているため。 Appleは後でお勧めします –

関連する問題