2017-01-17 4 views
2

사람이 읽을 수있는 ID/참조가없는 양식 필드에서 값을 입력하거나 읽는 가장 좋은 방법을 찾고 있습니다.Selenium이 잘못된 ID가있는 양식 필드에 액세스

기본 윤곽은 더 클래스 인증 된 정의가 있습니다

<div id="form-2143"> 
 
    <div id="numberfield-1234"> 
 
    <label id="numberfield-1234-label"> 
 
     <span class="x-form-label">Field Name 1</span> 
 
    </label> 
 
    <div id="numberfield-1234-body"> 
 
     <div id="numberfield-1234-wrap"> 
 
     <input id="numberfield-1234-input" class="form-field" componentid="numberfield-1234"> 
 
     </div> 
 
    </div> 
 
    </div> 
 
    ... 
 
</div>

처럼 보인다 및 관련 속성을하지만, 위의 "기본 사항"내가 함께 일해야한다.

이 양식에는 많은 항목이 있으며 이와 유사한 양식이 있으므로 레이블 이름을 검색하고 동일한 컨테이너 내의 입력 필드에 액세스하는 방법을 찾고 있습니다.

나는 사이트를 제어 할 수 없으며 사이트의 HTML 구조를 편집 할 수 없습니다. 즉, ID에 의미있는 이름을 지정할 수는 없지만 열악한 이름을 참조하는 것을 피하기를 원합니다. Robot Framework & 셀렌이 이러한 요소를 참조하는 방법에 대한 제안 사항이 있습니까? 위의 예는 XPath에게

//label[span[text()="Field Name 1"]]/following-sibling::div//input 

작품을 사용하여 의견

에서 앤더슨의 답변을 강조

+6

확인'XPath'입니다 sibling :: div // input' – Andersson

+2

또한 오타도 찾아야합니다. 당신은 "레이블"대신 "lable"을 가지고 있습니다. – Helio

+0

환호하는 분들, @Andersson은 정말 효과가 있습니다. –

답변

1

. `// 라벨 [스팬 [텍스트() = "필드 이름 1"]]/다음과 같은 - :

근처의 요소를 참조하는 방법의 질문에 대한 대답의 핵심 부분은

/following-sibling 
관련 문제