2013-06-11 3 views
1

Gmail에서 일부 정보를 가져 오려고하는데 많은 시도 후에도 실패했습니다. 이것은 자바 스크립트를 사용하여 추출하려고하는 코드 줄입니다.iPhone SDK : 자바 스크립트 클래스에서 텍스트 가져 오기

<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"]; 

의 조각을 사용하고 있음을 내 결과 인 아무것도 할 수 모두, 나는 많은 대안을 시도했지만 아무도 노력하지 못했습니다. 여기서해야 할 일은 가능한 모든 방법으로 "Inbox (182)"텍스트를 추출하는 것입니다. 감사.

답변

1

나는 그 클래스에 여러 요소가 있기 때문에 귀하의 자바 스크립트가 올바르지 않다고 생각합니다. Gmail에 로그인하면 다음과 같이 작동합니다.

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

프로덕션 환경에서 이것을 사용하는 것은 지칠 것입니다. 그것은 매우 부서지기 쉬운 것 같습니다; 해당 클래스 또는 요소의 순서는 언제든지 Google에서 변경할 수 있습니다.

또한 자바 스크립트를 실행하기 전에 페이지가로드되었는지 확인해야합니다. 일반적으로 이것은 webViewDidFinishLoad: 콜백에서 구현됩니다. 결과를 얻지 못하고 JS가 유효하면 아마 이것이 문제 일 것입니다.

관련 문제