2013-05-13 3 views
6

자바 스크립트에서 내 페이지의 모든 요소 (링크, 버튼 등)를 클릭하는 기능을 찾고 있습니다. 모든 요소는 기본적으로 사용하지 않도록 설정해야합니다. 내 테스트 환경을 셀레늄 내 페이지의 모든 요소가 비활성화되어 있는지 확인하려면이 사용하고 있습니다.페이지의 모든 요소를 ​​선택하십시오.

처음에는
+0

을 너 무슨 짓을 한거야? –

+0

selenium.getAllLinks()에서 제공하는 함수로 모든 링크를 가져 오려고 시도하고 있었고 click()을 시도했습니다. 또한 getAllLinks()와 나는 어떤 링크를 얻을 수 없습니다 ... – John

답변

7

, 페이지에있는 모든 요소를 ​​얻을 : 이제

var elements = document.getElementsByTagName("*"); 

당신이 그들을 얻을, 마우스 이벤트를 만들어 루프를 만들고 모든 요소에 이벤트를 적용

var clickEvent = document.createEvent ('MouseEvents'); 
clickEvent.initEvent ('click', true, true); 
for (var i=0; i < elements.length; i++) 
{  
    elements[i].dispatchEvent (clickEvent); 
} 
+0

안녕하세요! 빠른 답장을 보내 주셔서 감사합니다! 나는 당신의 코드를 따를 수 있고 그것은 나에게 의미가있다. 불행히도 document.getElementsByTagName ("*");에서 요소를 가져올 수 없습니다. – John

+0

일부 오타가 코드에서 변경되었습니다. 아마도 더 잘 작동할까요? 또한 문서가로드 된 후 클릭 수를 테스트하는 함수를 호출해야합니다. 본문의 onLoad 문에 넣으면 코드가 제대로 작동합니다! – JasperV

+0

그러면 브라우저가 모든 링크를 클릭하는 코드를 실행하고 있습니까? 실제로 링크가 활성화되어 있으면 클릭 된 첫 번째 링크가 다음 페이지로 리디렉션되어야합니다. 링크가 비활성화되어 있으면 아무 일도 일어나지 않습니다. 그것이 그것이 작동해야하는 방법입니다. 그러나 이제는 selenium.getAllLinks와 페이지의 링크를 얻을 수있게되었습니다. 하지만 clickEvent는 아무 것도하지 않는 것 같습니다. – John

관련 문제