1

我正在尝试从 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)”文本。谢谢。

4

1 回答 1

1

我认为您的 javascript 不正确,因为该类有多个元素。如果我登录到 gmail,这有效:

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

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

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

于 2013-06-11T00:44:14.913 回答