webView载入http://baidu.com 我要把那个百度Logo的
拿出来,在Chrome的console里直接运行
document.getElementById('lg')
没问题,可以拿出来
但是我在代码里,运行这段代码,空的,什么都没有。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *js = @"document.getElementById('lg')";
NSString *pageSource = [webView stringByEvaluatingJavaScriptFromString:js];
NSLog(@"pagesource:%@", pageSource);
}
NSLog打印出来什么都没有。如果我用 @"document.body.innerHTML" 是可以把整个body弄出来的
补充:移动版的id不一样手机webview拿出的是移动版,logo的id是 "logo" 不是 "lg" 但是即使换成 "logo" 还是一样不行
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你通过 getElementById 拿到的只是这个节点的对象,要通过 innerHTML 得到代码
- (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *js = @"document.getElementById('lg').innerHTML"; NSString *pageSource = [webView stringByEvaluatingJavaScriptFromString:js]; NSLog(@"pagesource:%@", pageSource); }