마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

5일째 삽질중입니다... 안드로이드 자바스크립 클릭 부분입니다.

0 추천
일단 실제 웹 페이지의 페이지 로드가 끝나면 그 페이지의 버튼을
 
눌러주고 싶습니다. 예를 들면 안드로이드 펍 페이지가 로드 되고 나면 개발자질문 이란 버튼을 클릭하는거죠 
 
태그는 임의대로 만들어 보겠습니다
 
<div class = "ex">
 
     <ul class  = "android pup "...</ul>
 
                <a href  =  "link" onclik = "return bla bla" class = "pup">펍</a>
 
</div>
 
클레스 ex 는 유일한것이 아닙니다 여러개가 있을수도 있고 한개가 있을수도 있습니다.
 
a href 의 class 도 여러개 일수 있습니다.  그러니 한번에 a 태그를 찾지 못한다는 말을 드리고 싶은거예요
 
저 형식으로 여러개가 있을때는 저걸 어떻게 찾아주어야 하는지... 
 
html 이 그냥 저 형식대로만 있으면 그냥 
 
webview.loadUrl("url");
 
 
webview.getSettings().setJavaScriptEnabled(true);   // 자바스크립 사용
webview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {  // url 로드시 시작
 
view.loadUrl("javascript:document.getElementsByTagName('a').click()");
 
}
});
위에 태그처럼 그냥 한개만 있으면 좋겠지만 그런게 아니기에... 어떻게 찾아주어야 할지..
이렇게 해주면 된다고 하시는데.. .
이걸 어떤 방법으로 접근해서 테스트 해야 할지... 
onPageFinished 에서 url 은 정상적으로 넘어오고 다른 자바스크립트 코딩 했을땐 잘 되었는데
클릭 부분이 막혀서 풀리지가 않습니다.. 벌써 5일때 잡고 씨름중인거 같습니다 미치겠습니다.
계속해서 산으로 가고있습니다 ... 도와주세요 ....
 
위에 태그가 여러가 중복된다는 가정으로 어떤식으로 해야 할지... 제가 놓치고 있는 부분이 있는지..
부탁드립니다 고수님들.. ㅠㅠ
숀화이트 (3,310 포인트) 님이 2014년 8월 13일 질문
숀화이트님이 2014년 8월 13일 reshown
해당 태그에 id는 부여할수가 없는건가요?

그리고 굳이 클릭을 하는것이아니고 클릭될때의 작업을 수행해주면 돼는거 아닌가 모르겠네요..

원래 글쓰기 화면으로 이동하는거라면 그냥 글쓰기 화면으로 이동시키면 돼는게 아닌지..

1개의 답변

+1 추천
 
채택된 답변

순서대로 찾아들어가보세요

document.getElementsByClassName("ex")[0].getElementsByTagName("ul")[1].getElementsByTagName("a")[2].click()

alkyne (22,960 포인트) 님이 2014년 8월 13일 답변
숀화이트님이 2014년 8월 13일 채택됨
흠... 다른이유라 ㅠㅠㅠ 더 미궁으로 빠지네요... 다른 이유가 있을게 있나요 흠....
똑같아요.... 음...
디버그 모드로 봤을때 자바 스크립 이네이블 해주고
웹뷰클라이언트 들어가서   네이버 메인페이지 loadUrl 하고 페이지가 ui 상으로 뜨면서
view.loadUrl(자바스크립) 로 넘어가고 그담에 super.onPageFinished (view,url) 로 빠져서 끝나요 페이지는 그대로 네이버 메인페이지구요
안되는게 이상하긴 한데.. 다른폰으로도 테스트해보시고
페이지 이동이 목적이라면 직접 html소스를 받아 파싱해서 링크를 추출해서 이동시키는거도 하나의 방법이겠죠
일단 너무 감사합니다 몇일 더 삽질 좀 해야겟네요 ㅜㅜㅜㅜ
...