我使用javascript获得了用户名和密码,但代码不适用于所有网站。 gmail使用的是不同于脸书的身份证,许多网站也可能会这样做,那么如何让代码适用于登录的任何网站?
以下是如何获取用户名/密码:
if (navigationType == UIWebViewNavigationTypeFormSubmitted) {
//works for gmail
NSString *username = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('Email')[0].value"];
NSString *password = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('Passwd')[0].value"];
//works for facebook?
//NSString *username = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].value"];
//NSString *password = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('pass')[0].value"];
NSLog(@"username is %@\npassword is %@",username,password);
}
所以我只想知道如何获取用户登录的任何网站的用户名和密码,这样我就可以保存,然后在他们返回时自动填写并注销,以便轻松登录。
答案 0 :(得分:2)
要获取所有文本字段,您可以像这样放置一个js查询
document.querySelectorAll("input[type='text']")
希望这有帮助。 :)
另外,要了解更多详情,请参阅this post
答案 1 :(得分:-1)
如果您希望它适用于任何网站,您将不得不做一些完全不同的事情。也许创建一个站点数组,然后将字段存储到该对象。您可以搜索每个“密码”输入,然后尝试向上移动到上一个输入,因为大多数时候它是用户名,然后是密码字段。
但是你无法让它在每个网站上工作。