UIWebView
中有很多关于自动填充电子邮件/用户名和密码字段的帖子,我尽可能地尝试了但无法填写电子邮件/用户名字段。但是,填写密码工作正常。
以下是我目前处理的代码。
// not working
NSString *loadUsernameJS = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='text']\"); \
for (var i = inputFields.length >>> 0; i--;) {
inputFields[i].value = '%@';
}", savedUsername];
// working!
NSString *loadPasswordJS = [NSString stringWithFormat:@"var passFields = document.querySelectorAll(\"input[type='password']\"); \
for (var i = passFields.length>>> 0; i--;) {
passFields[i].value ='%@';
}", savedPassword];
[self.webView stringByEvaluatingJavaScriptFromString: loadUsernameJS];
[self.webView stringByEvaluatingJavaScriptFromString: loadPasswordJS];
我不想使用document.getElementById()
方法,因为有些网站接受电子邮件或用户名登录。
我也试过......
NSString *loadUsernameJS = [NSString stringWithFormat:@"var inputFields = document.getElementsByTagName('input'); \ for (var i = inputFields.length >>> 0; i--;) { if(inputFields[i].name == 'username') inputFields[i].value = '%@';}", savedUsername];
但仍然没有成功。