2011-12-20 4 views
0

페이지에 동일한 속성을 갖는 4 개의 span 요소가 있습니다. 아래 코드로 네 번째 범위를 클릭하려고 시도했습니다.Selenium의 요소 배열을 주소 지정하기위한 Xpath 참조

selenium.click("css=span:contains('item12_21'):nth-child(4)"); 

"요소를 찾을 수 없음"오류가 발생합니다. 다른 해결 방법을 사용하여 요소를 클릭하려고하지만 행운이 없습니다. 심지어 전체 계층 구조를 제공하려했지만 태그 사이에 #document이라는 노드가 있습니다. Xpath에서 #document을 처리하는 방법을 알려주세요.

IE 7이 있으며 응용 프로그램이 Firefox와 호환되지 않으므로 IE 개발자 도구 모음으로 작업하고 있습니다. 어느 누구도이 문제를 해결하도록 도와 줄 수 있습니까?

+0

": contains"와 같은 CSS 선택기가 없으므로 "요소를 찾을 수 없습니다"가 표시됩니다. 몇 년 전에 CSS3 스펙에서 쫓겨났다. –

답변

1

기본 XPath는 다음과 같이 표시됩니다

//span[contains(., 'item12_21')] 

을 그리고 (나는 완전히 당신이 원하는 어느 확실하지 않다), 그 필터링 된 목록에서 네 번째 항목 중 하나를 얻을 수 있습니다 :

(//span[contains(., 'item12_21')])[4] 
을 이런 식으로 네 번째 하위 인

... 또는 모든 항목 :

//span[contains(., 'item12_21')][4] 

브래킷은 우선 순위를 나타내는 F 또는 색인 생성.

이 항목을 사용하여 #document 항목을 건너 뛰고 싶지만, 그렇지 않은 경우 항목의 컨텍스트를 표시하려면 html을 게시해야합니다.

+0

입력 해 주셔서 감사합니다. 나는 아래 코드 selenium.click ("div (4) [(id, 'elMenu12') 포함]]/span [21] [contains (@ id, 'item12_21')]로 요소를 성공적으로 클릭 할 수있다. "); – user1065345