javascript - 检查webView是否可以登录

标签 javascript objective-c

我正在制作一个应用程序,用户可以使用自定义 View 登录网站。我一切正常,从将数据从 UITextFields 传递到 webView 网站,我还可以使用此代码提交登录名和用户名

NSString *performSubmitJS = @"var passFields = document.querySelectorAll(\"input[type='submit']\"); \
passFields[1].click()";
[webView stringByEvaluatingJavaScriptFromString:performSubmitJS];

如何检查用户输入的用户名和密码是否错误?无论如何可以使用类似的东西

document.querySelectorAll

检查用户是否引入了错误的凭据?

最佳答案

我假设您的网页在您单击登录按钮时重新加载,这意味着您希望定义此委托(delegate)方法(如果您尚未定义):

- (void)webViewDidFinishLoad:(UIWebView *)webView;

并且您需要在此处重新注入(inject) JavaScript 来扫描页面以查找输入了无效密码的指示。您可以为此使用 querySelector,但您必须检查网页是否存在错误密码情况,并找到唯一显示错误密码的元素。检查类似 if(document.body.innerHTML.indexOf('无效密码') > -1) window.location = 'WRONG_PASSWORD' 之类的内容可能会更容易(将'无效密码'替换为任何内容)当您输入无效密码时,网页会显示),您可以实现:

- (BOOL)WebView:(UIWebView *)myWebView shouldStartLoadWithRequest:(NSURLRequest *)request;

并检查 URL 是否等于 WRONG_PASSWORD,以了解用户是否输入了错误的密码并在 objc 中对其使用react。

关于javascript - 检查webView是否可以登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724877/

相关文章:

ios - 当键盘出现在 Objective C 中时向上移动文本框

javascript - 在 HTML5 Javascript sqlite 上的表上插入之前如何检查数据是否已经存在?

javascript - 在 JavaScript 中检查 SSL 证书是否有效

Objective C 变量常量的 Java 等效项

ios - 长按模式下的 Collection View 时,如何移动 Collection View 单元格并在 iOS 中重新排列它们?

html - 从html中提取文本到NSString

javascript - 当我加载网页时自动显示对话框

javascript - 用拖放替换图像

javascript - Controller 的 ngdoc 文档

ios - 如何在Ionic/Cordova构建中正确引用iOS第三方框架,以免引发dyld:库未加载:@rpath错误