如何在webView中自动显示第一个谷歌搜索结果?

时间:2013-10-05 15:26:21

标签: ios objective-c uiwebview

我最近创建了一个搜索栏,用于搜索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上,这也是什么类型的算法? 在此先感谢!!!

1 个答案:

答案 0 :(得分:0)

查看Google搜索结果,可以轻松选择项目锚点元素。每个单独的搜索结果都会在类名'g' li 元素中进行分组,然后在其中包含您要单击的链接。

因此,选择第一个可点击元素很容易通过javascript as;

  NSString *javascriptString = @"document.getElementsByClassName('g')[0].getElementsByTagName('a')[0].click()";

然后单击要将上述字符串执行到UIWebview中的元素为;

 [webView – stringByEvaluatingJavaScriptFromString: javascriptString];

一旦WebView完成加载请求,您可能希望执行此代码。因此,实现webview委托,一旦加载搜索结果请求,执行上面的代码。