web-dev-qa-db-fra.com

Obtention du code source HTML d'une UIWebView chargée

Comment puis-je obtenir le code source HTML d'un UIWebView et le stocker dans NSString?

26
Wasim A.

Si vous voulez le code source d'une vue Web déjà chargée, vous pouvez l'obtenir comme ceci:

    NSString *yourHTMLSourceCodeString = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];

pdate: la méthode ci-dessus fonctionne la plupart du temps. Mais j'étais récemment dans une situation où j'avais besoin de toute la source de code, pas seulement du corps.

Voici une meilleure façon:

    NSString *yourHTMLSourceCodeString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];       

(Il ne rechargera pas la vue Web).

93
Guillaume

Je ne sais pas exactement ce dont vous avez besoin .......... mais selon votre dernier commentaire, vous obtiendrez ces données html de google comme ceci ...

     NSData *companyData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
     NSString *responseString = [[NSString alloc] initWithData:companyData encoding:NSUTF8StringEncoding];

    self.yourTextView.text = responseString; // response string contains that data
    [companyData release];

Bonne chance!

3
Sudhanshu