Подтвердить что ты не робот

UIWebView stringByEvaluatingJavaScriptFromString

Я застрял над тем, чтобы запустить довольно простой JS в моем UIWebView. В делегате веб-представления у меня есть:

- (void)webViewDidFinishLoad:(UIWebView *)wView {
    NSString *someHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0]"];   
    NSString *allHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
    NSLog(@"someHTML: %@", someHTML);
    NSLog(@"allHTML: %@", allHTML);
}

но при вызове метода someHTML равен нулю, тогда как allHTML содержит все тело HTML в веб-просмотре.

Я запустил JS в консоли JS Safari, и он работает просто отлично (он находит поле div класса, поэтому я знаю, что его в HTML)

Любые предложения?

Дополнительная информация:

FWIW, в результате каждое из следующих значений также равно nil

NSString *result = [self.webView stringByEvaluatingJavaScriptFromString: @"document"];
NSLog (@"1. result: %@", result); //should log the document object?

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body"];
NSLog (@"2. result: %@", result); //should log the document body

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body.getElementsByClassName"];
NSLog (@"3. result: %@", result); //should log a function

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body.getElementsByClassName('box')[0]"];
NSLog (@"4. result: %@", result); //should log the node
4b9b3361

Ответ 1

Изменение

NSString *someHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0]"];   

к

NSString *someHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0].innerHTML;"];   

(добавлен .innerHTML)

делает разницу в мире.,