利用JavaScript从UIWebView获取、修改、提交网页内数据的方法

在UIWebView的内容加载完之后,可以利用javascript获取其页面内的数据,核心就是通过UIWebView的方法:

NSString *string = [awebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('field_2').value;" ];

以下是一些常用的js脚本:

thisURL = document.URL;

thisHREF = document.location.href;

thisSLoc = self.location.href;

thisDLoc = document.location;

thisTLoc = top.location.href;

thisPLoc = parent.document.location;

thisTHost = top.location.hostname;

thisHost = location.hostname;

thisTitle = document.title;

thisProtocol = document.location.protocol;

thisPort = document.location.port;

thisHash = document.location.hash;

thisSearch = document.location.search;

thisPathname = document.location.pathname;

thisHtml = document.documentElement.innerHTML;

thisBodyText = document.documentElement.innerText;//获取网页内容文字

thisBodyText = document.body.innerText;//获取网页内容文字

也可以通过同样的方法去设置页面内容(比如帮用户输入表单数据)

比如:

NSString *string = [awebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('field_2').value='a value';" ];

就可以修改field_2的值了

同样也可以去模拟页面内按钮的点击,提交页面,比如:

document.getElementById('aButtonName').click();

或者,假设知道按钮是第几个input标签(假设为第一个)

document.getElementsByTagName('input').item(0).click();

也可以设置checkBox的状态:

document.getElementById('aCheckBoxId').checked=true;

参考:

http://hi.baidu.com/zfpp25/blog/item/0bc5e3565a7e632e0cf3e3d7.html

http://www.cnblogs.com/del/archive/2009/01/07/1370907.html

http://blog.csdn.net/studyrecord/article/details/6213843

你可能感兴趣的:(利用JavaScript从UIWebView获取、修改、提交网页内数据的方法)