2009-11-03 1 views
1

그래서 웹 사이트에서 테스트 케이스를 시험해보고 셀레늄이 이벤트를 완벽하게 등록합니다. 이제 특정 클래스를 검색하고 해당 클래스의 innerHTML을 가져와야한다면 Java를 구동 언어로 사용한다고 가정하면 어떻게해야합니까?셀레늄 : 동적 버튼과 클래스?

좀 더 명확하게 말하십시오. 나는 수업이 같이 있습니다

<h1 class="classname">.....</h1>

내가 그 태그 사이의 전체 텍스트를 얻을합니다.

마지막으로 페이지의 버튼 ID가 동적으로 생성 된 경우 클릭 동작을 테스트하려면 어떻게해야합니까? 이 버튼들은 아약스를 사용하고있는 것으로 추정됩니다.

<a href="#" bindpoint="forward" class="ButtonForward"/> 

이 버튼을 클릭도 ​​가능 :

//div[@id='c4aef94de622f51859827294']/div/div/div[1]/span[2]/span/span[3]/a 

하고 버튼의 실제 HTML은 이것이다 : 나는 버튼을 클릭하면, 셀레늄이 발생?

답변

2

getHtmlSource 명령을 사용하여 전체 HTML 소스를 가져온 다음 다른 것을 사용하여 Java에서 HTML을 구문 분석하고 대상 요소의 내용을 추출 할 수 있습니다.

이 당신이 그것을 찾을 수있는 페이지의 그러한 버튼 인 경우 예를 들어, ID를 사용하지 않고 요소를 찾을 수 있습니다

사용 CSS 로케이터 :

selenium.click("css=a.ButtonForward"); 

사용 된 XPath 로케이터 :

selenium.click("xpath=/descendant::a[@class='ButtonForward']"); 
+0

정보를 제공해 주셔서 감사합니다 ... 그 이름의 요소를 찾을 수 없다는 불만을 계속합니다. 한 가지는 클래스 이름에 내가 생각하고있는 공간이 문제라는 것입니다. 이름은 class = "ForwardButton Button"과 같습니다. 그 점에 관해 어떤 제안이 있니? – Legend

+0

좋아, 신경 쓰지 마라. xpath 표현식으로 작동한다. – Legend

+0

한가지 더 질문 : 특정 요소의 innerHTML을 실제로 가져올 수있는 방법이 있습니까? 아니면 전체 HTML을 가져와 구문 분석해야합니까? – Legend