我最近创建了一个搜索栏,用于搜索Google上的用户输入,而不是显示Google搜索结果,我希望它只是自动显示第一个搜索结果。这是我目前的代码:
-(IBAction)searchInfo: (id)sender {
NSString *query = [googleBar.text stringByReplacingOccurrencesOfString:@" " withString:@"+"];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.co.uk/search?q=%@" , query]];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
[textField resignFirstResponder];}
此代码允许在我的搜索栏中搜索用户的文本输入,但我现在希望它能自动显示Google上显示的第一个结果。 我在这个问题的第二部分是如何添加一个算法,该算法不只是选择第一个结果,而是选择一个特定的搜索结果并将其显示在webView上,这也是什么类型的算法? 在此先感谢!!!
答案 0 :(得分:0)
查看Google搜索结果,可以轻松选择项目锚点元素。每个单独的搜索结果都会在类名'g'的 li 元素中进行分组,然后在其中包含您要单击的链接。
因此,选择第一个可点击元素很容易通过javascript as;
NSString *javascriptString = @"document.getElementsByClassName('g')[0].getElementsByTagName('a')[0].click()";
然后单击要将上述字符串执行到UIWebview中的元素为;
[webView – stringByEvaluatingJavaScriptFromString: javascriptString];
一旦WebView完成加载请求,您可能希望执行此代码。因此,实现webview委托,一旦加载搜索结果请求,执行上面的代码。