iOS开发中经常需要与webView进行一些交互操作,比如获取网页上面的title,Image,content等等。
1.获取网页的标题
1 )UIWebView获取title的方法
NSString *resurltContent = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
2 )WKWebView获取title的方法
[webView evaluateJavaScript:@"document.title" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
NSString *resurlt = [NSString stringWithFormat:@"%@",response];
NSLog(@"这是获取到的标题%@", resurlt);
}];
2.获取网页上的图片
1 )UIWebView获取Image的方法
//这里是js,主要目的实现对图片url的获取
static NSString * const jsGetImages =
@"function getImages(){\
var objs = document.getElementsByTagName(\"img\");\
var imgScr = '';\
for(var i=0;i<objs.length;i++){\
imgScr = imgScr + objs[i].src + '+';\
};\
return imgScr;\
};";
//注入JS方法
[webView stringByEvaluatingJavaScriptFromString:jsGetImages];
//调用方法,获取到了网页上所有的图片,可以根据自己需要从存放图片Url数组里面获取
NSString *resurlt = [webView stringByEvaluatingJavaScriptFromString:@"getImages()"];
if (resurlt.length) {
NSArray *urlArr = [resurlt componentsSeparatedByString:@"+"];
NSLog(@"这是获取到的存放图片Url的数组%@",urlArr);
}
2 )WKWebView获取Image的方法
//注入JS方法
[webView evaluateJavaScript:jsGetImages completionHandler:^(id _Nullable response, NSError * _Nullable error) {
}];
//调用方法,获取到了网页上所有的图片,可以根据自己需要从存放图片 Url数组里面获取
[webView evaluateJavaScript:@"getImages()" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
NSString *resurlt = [NSString stringWithFormat:@"%@",response];
if (resurlt.length) {
NSArray *urlArr = [resurlt componentsSeparatedByString:@"+"];
NSLog(@"这是获取到的存放图片Url的数组%@",urlArr);
}
}];
3.获取网页上的文章内容
1 )UIWebView获取文章内容的方法
NSString *resurltContent = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerText"];
12)WKWebView获取文章内容的方法
[webView evaluateJavaScript:@"document.body.innerText" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
NSString *resurlt = [NSString stringWithFormat:@"%@",response];
NSLog(@"这是获取到的文章内容%@", result);
}];
4.获取网页高度
1 )UIWebView获取网页高度
CGFloat webViewHeight = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight" ] floatValue];
1 )WKWebView获取网页高度
[webView evaluateJavaScript:@"document.body.innerText" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
CGFloat webViewHeight = [response floatValue];
NSLog(@"这是获取的网页高度%f", result);
}];