【问题标题】:UIWebView saving username and passwordUIWebView 保存用户名和密码
【发布时间】:2012-09-02 01:40:02
【问题描述】:

我使用 javascript 获得了用户名和密码,但该代码不适用于所有网站。 gmail 使用的 id 与 Facebook 不同,许多网站可能也这样做,那么如何使代码适用于任何登录的网站?

现在它是如何获取用户名/密码的:

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);
}

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

【问题讨论】:

    标签: javascript objective-c xcode uiwebview


    【解决方案1】:

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

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

    希望对您有所帮助。 :)

    如需了解更多详情,请参考this post

    【讨论】:

      【解决方案2】:

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

      但您无法让它适用于所有网站。

      【讨论】:

      • 我知道如何为任何网站存储它们,但获取它们是问题所在,因为大量网站的 getelementbyname 文本不同,我不知道如何为任何网站获取它,苹果不知何故,我认为海豚浏览器可以。
      猜你喜欢
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 2017-07-14
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 2016-05-10
      相关资源
      最近更新 更多