UIWebViewを使用してデータを自動入力する際に、RegsExを使用してログインフォームを検索するにはどうすればよいですか?UIWebViewで開いているHTMLページのユーザー名とパスワードの自動入力
私は、すべてのフォームデータを取得するために、次のコードを使用しています
int NoOfForms = [[self.browser stringByEvaluatingJavaScriptFromString:@"document.forms.length"] intValue];
NSMutableArray *formData = [[NSMutableArray alloc] initWithCapacity:0];
for (int i = 0 ; i < NoOfForms ; i++)
{
// total number of elements in each form
int elementsInForm = [[self.browser stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.forms[%d].elements.length",i]] intValue];
for (int j = 0; j < elementsInForm; j++)
{
// element id of each element
NSString *elementID = [NSString stringWithFormat:@"document.forms[%d].elements[%d].id",i,j];
// element value of each element
NSString *elementValue = [NSString stringWithFormat:@"document.forms[%d].elements[%d].value",i,j];
// dictionary for all values of each element
NSDictionary *elementData = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:i],@"form No",
[NSNumber numberWithInt:j],@"element No",
[self.browser stringByEvaluatingJavaScriptFromString:elementID],@"elementID",
[self.browser stringByEvaluatingJavaScriptFromString:elementValue],@"elementValue",nil];
// add each element data to a mutable array.
[formData addObject:elementData];
}
}
し、それぞれのフィールドに戻ってデータを置くために、次のコードを持っている:
for (int i = 0 ; i < [dataArray count]; i++)
{
NSDictionary *elementDict = [dataArray objectAtIndex:i];
int formNumber = [[elementDict objectForKey:@"form No"] intValue];
int elementNumber = [[elementDict objectForKey:@"element No"] intValue];
NSString *formElementID = [elementDict objectForKey:@"elementID"];
NSString *formElementValue = [elementDict objectForKey:@"elementValue"];
if ([[self.browser stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.forms[%d].elements[%d].id",formNumber,elementNumber]] isEqualToString:formElementID])
{
[self.browser stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.forms[%d].elements[%d].value='%@'",formNumber,elementNumber,formElementValue]];
}
}
は今、私は提出したいですログインフォーム..それを見つける方法?
私のコードでパスワードをフィールドに入力すると、mail.google.comのような一部のWebサイトでパスワードフィールドが空になります。この問題を解決するには?
更新:現在、私はmail.google.comにログインすることができましたが、belleandclive.comで同じことをすることはできませんでした。このサイトはログインフォームのセキュリティ測定を実装していますか?