2014-07-11 3 views
1

웹 사이트에 로그인하여 로그인하고 잘 작동하는 NSURLRequest를 사용하여 페이지의 HTML 소스를 가져옵니다. html 소스가 콘솔에 출력해서 필요한 것임을 확인합니다. 문제는 자바 스크립트 코드가 끝난 후에 렌더링 된 HTML을 가져와야한다는 것입니다. 내 연구에서이 작업을 수행하는 유일한 방법은 UIWebView로로드하는 것입니다. 그러나 이렇게하면 webViewDidFinishLoad 대리자가 절대 실행되지 않습니다. webViewDidStartLoad도 마찬가지입니다. 유일한 목적은 렌더링 된 HTML을 얻는 것이기 때문에 UIWebView를 아무 데나 표시하고 싶지 않습니다. 여기 내 코드는 지금까지입니다 : 내가 추가 않았다 볼 수 있습니다UIWebViewDelegate DidFinishLoad 사용자 정의 클래스에서 실행되지 않음 (Swift)

theWebPage.delegate = self 

:

import UIKit 

class ShowParser : NSObject, UIWebViewDelegate 
{ 
    var webView = UIWebView() 

    init() 
    { 
     super.init() 
     webView.delegate = self 
     sendRequest() 
    } 

    funs sendRequest() 
    { 
     var requestUrl = NSURL(string: "<website>") 
     var baseUrl = NSURL(string: "<website>") 
     var nsurlRequest = NSMutableURLRequest(URL: requestUrl) 
     nsurlRequest.HTTPMethod = "POST" 
     nsurlRequest.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") 
     var submitData = "submit=login&lastplace=&email=<username>&password=<password>" 
     var requestBodyData = submitData.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) 
     nsurlRequest.HTTPBody = requestBodyData 
     var data = NSURLConnection.sendSynchronousRequest(nsurlRequest, returningResponse: nil, error: nil) 
     var dataResultsString = NSString(data: data, encoding: NSUTF8StringEncoding) 
     //println(dataResultsString) 
     webView.loadHTMLString(dataResultsString, baseURL: baseUrl) 
    } 

    func webViewDidStartLoad(webView: UIWebView!) 
    { 
     println("Started Loading") 
    } 

    func webViewDidFinishLoad(webView: UIWebView) 
    { 
     println("Finished Loading") 
    } 
} 

답변

0

자사가 이미되어 here 대답하지만 넣다 누군가가이 추가의 문제였다 다음이 질문을 통해 오는 다음 그래서 나는 그것이 이미 편집되었다고 가정합니다.