我正在尝试从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有效,则可能是问题所在。