我正在尝试从Gmail检索某些信息,但经过多次尝试均未成功。这是我尝试使用javascript提取的代码行。

<a href="https://mail.google.com/mail/u/0/#inbox" target="_top" class="J-Ke n0" title="Inbox (182)" tabindex="0">Inbox (182)</a>

我正在尝试获取文本“收件箱(182)”,我正在使用这段代码
    NSString *js_result = [webview1 stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('J-Ke n0').innerText"];

但是,这不起作用,我的结果是什么也没有,我尝试了许多替代方法,但没有一个起作用。我需要做的就是以任何可能的方式提取“收件箱(182)”文本。谢谢。

最佳答案

我认为您的JavaScript错误,因为该类包含多个元素。如果我登录gmail,则可以:

document.getElementsByClassName('J-Ke n0')[0].innerText

不过,我会在生产环境中使用它感到厌倦。看起来很脆; Google可以随时更改元素的类别或顺序。

您还需要在尝试执行javascript之前确保页面已加载。通常,这是在webViewDidFinishLoad:回调中实现的。如果没有得到结果并且您的JS有效,则可能是问题所在。

09-25 16:50