首页 文章

UIWebView保存用户名和密码

提问于
浏览
2

我使用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);
}

所以我只想知道如何获取用户登录的任何网站的用户名和密码,以便我可以保存,然后自动填写,当他们返回并注销,以便轻松登录 .

2 回答

  • 2

    要获取所有文本字段,您可以像这样放置一个js查询

    document.querySelectorAll("input[type='text']")
    

    希望这有帮助 . :)

    另外,要获得更多详细信息,请参阅this post

  • -1

    如果你想让它适用于任何网站,你将不得不做一些完全不同的事情 . 也许创建一个站点数组,然后将字段存储到该对象 . 您可以搜索每个“密码”输入,然后尝试向上移动到上一个输入,因为大部分时间它是用户名和密码字段 .

    但是你无法让它在每个网站上工作 .

相关问题