その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

UIWebViewで表示中のHTMLコンテンツを取得する

UIWebView や UIWebViewDelegate には、ロードしてきたHTMLの内容を取得するためのプロパティやメソッドが見当たりません。


で、どうすればいいかというと、stringByEvaluatingJavaScriptFromString: メソッドで JavaScript を実行して、現在 UIWebView で表示中のHTMLの内容を取得することができます。


たとえば webViewDidFinishLoad: の中で下記を実行すると、

NSString *head = [self.myWebView stringByEvaluatingJavaScriptFromString:
                  @"document.head.innerHTML"];

HTMLの タグの中身を NSString 型で取得できます。


同様に、 タグの中身は

NSString *body = [self.myWebView stringByEvaluatingJavaScriptFromString:
                  @"document.body.innerHTML"];

で取得できます。