2012-11-15 2 views
0

의 내가 같은 일부 HTML을한다고 가정 해 봅시다하지 않습니다 반면에CSS 로케이터 빌더는 첫째 ID는

css=div.somestyle 

나는 초부터 기타 콘텐츠를 클릭하면, 나는 (내가 원하는) 얻을 : "첫번째 내용"에 내가 좋아하는 뭔가를 얻을

css=#container2 > div.somestyle, 
    . 
    . 
    . 
css=#containern > div.somestyle 

유일한 예외는 첫 번째 요소입니다.

왜 그럴까요? 그게 버그 야? 전체 HTML 구조를 다시 작성할 필요없이 어떻게 피할 수 있습니까?

+1

같이 갈 것인가? – BoltClock

+0

네, 그렇습니다 : 유일한 예외는 첫 번째 요소입니다. 각각에 대해 전체 breadcrumb 스타일 CSS 선택기를 얻습니다. 질문을 편집하여 지정합니다. – Pierpaolo

+0

나는 이것이 BUG/Problems라고 생각하지 않는다. 아마도 css 클래스에 의한 IDE 기본 레코드 ur 선택 일 것이다. 아마도 ID를 사용하여 선택 기준을 변경하려고 시도 할 수도있다. – cL83

답변

1

3 개의 컨테이너가 모두 같은 클래스이므로 동일한 레코드를 식별 할 수 있습니다. 예 : 당신이 동일한 이름을 가진 세 개의 체크 박스가있는 경우 다음 당신이 코드에서

click | name=vehicle 
click | xpath=(//input[@name='vehicle'])[2] 
click | xpath=(//input[@name='vehicle'])[3] 

를 기록합니다, 클래스는 모든 컨테이너에 대해 동일합니다.

그래서 컨테이너 IDE 코드는 앞서 언급 한 것처럼 표시됩니다. 처음에는 직접 표시되며 첫 번째 입력으로 간주됩니다.

css=div.somestyle 

그리고 다음 항목에 대한

당신에게`CSS = # 컨테이너 2> div.somestyle`을주고 제 2 컨텐츠를 클릭합니까

css=#container2 > div.somestyle, 
    . 
    . 
    . 
css=#containern > div.somestyle 
+0

감사합니다. 그러나이 행동을 바꾸는 방법이 있습니까? – Pierpaolo

+0

코드를 수동으로 작성할 수 있습니다. 여기서 div ID는 각 블록마다 고유하므로 div ID를 사용할 수 있습니다. –

+0

테스트를 수동으로 작성하는 것은 피하고 싶었던 것입니다. 그래도 사용자 정의 로케이터 빌더를 작성하려고합니다. – Pierpaolo