2017-11-03 14 views
0

iOSアプリケーションでWKWebViewを使用しています。ウェブページを読み込んだ後、gmail.comのHTMLを取得したいと考えています。私はViewDidAppearで呼び出す機能でこの表現を持っている:WKWebViewでJavaScriptを評価してHTMLを取得

func getHTML() { 
    webView.evaluateJavaScript("document.documentElement.outerHTML.toString()", completionHandler: { (html: Any?, error: Error?) in 
      print(html) 
    }) 
} 

しかし、私はこの機能を実行すると、私はコンソールで次の出力を得る:

Optional(<html><head></head><body></body></html>) 

私が間違っているのは何を?私が試したすべてのページで同じ結果が得られるのは、Gmailだけではありません。

// MARK: Outlets 
@IBOutlet weak var webView: WKWebView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let url = URL(string: "https://www.gmail.com")! 
    let request = URLRequest(url: url) 

    webView.navigationDelegate = self 
    self.webView.load(request) 
} 

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    getHTML() // the function posted above 
} 

答えて

0

問題は、Webページが完全にロードされませんでした。ここで

は、私のコードのすべてです!私はViewDidAppearで自分の関数を呼び出していましたが、ボタンを追加してボタンを押したときにjavascriptを呼び出した後、私は探していたHTMLを取得しました。

関連する問題