2

我最近制作了一个搜索栏,用于搜索用户在 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 上进行搜索,但我现在希望它自动显示出现在 Google 上的第一个结果。我这个问题的第二部分是如何添加一个算法,它不仅选择第一个结果,而且选择了特定的搜索结果并将其显示在 webView 上,那是什么类型的算法?提前致谢!!!

4

1 回答 1

0

查看谷歌搜索结果,可以轻松选择项目锚元素。每个单独的搜索结果都分组在类名“g”的li元素中,然后在其中有您想要单击的链接。

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

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

然后单击该元素,您只需将上述字符串执行到 UIWebview 中即可;

 [webView – stringByEvaluatingJavaScriptFromString: javascriptString];

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

于 2013-10-05T15:39:41.100 回答