2013-02-19 2 views
1

셀레늄과 xpath 둘 모두에 관해서는 상당히 구체적인 문제가 있습니다.셀레늄은 xpath 문자열을 사용하여 드롭 다운 요소를 선택합니다.

셀렌을 사용하여 시나리오를 기반으로 자동화 된 테스트를 수행해야합니다. 모든 페이지가 자동으로 생성되고 ID를 사용하는 것은 불가능합니다.

모든 양식 요소는 동일한 방식으로 설계되었지만

<table> 
<tr><td> Title </td></tr> 
<tr><td> input/dropdown/etc </td></tr> 
</table> 

그는 내가 드롭 요소에 대한 XPath를 디자인 한 http://www.xmlme.com/XpathTool.aspx를 사용하여 구체적인

<tr> 
<td width="34%" valign="top" bgcolor="#ffffc7"> 
<span class="bold">Status wniosku</span> 
<span>Test</span> 
</td> 
<td width="66%" bgcolor="#ffffc7"> 
<select id="ctl00_ContentPlaceHolder_2041" class="baseCtrl" name="ctl00$ContentPlaceHolder$2041"> 
<option value="" selected="selected">- wybierz -</option> 
<option value="save">tylko zapisz</option> 
<option value="pj">zapisz i wyślij do PJ</option> 
</select> 
<span> 
</span> 
<span id="ctl00_ContentPlaceHolder_ctl19" class="validation" style="display:none;">Określ status wniosku</span> 
<span id="ctl00_ContentPlaceHolder_ctl20" class="validation" style="display:none;"></span> 
<span></span> 
</td> 
</tr> 

입니다.

//span[text()='LABELNAME']/ancestor::*[1]/following-sibling::*/select/option[text()='TEXTVALUE'] 

내가 발견 한 요소를 클릭하기 위해 셀레늄을 사용하고 싶습니다. Selenium.Click()과 Selenium.Select()의 변형을 시도했지만 아무런 결과가 없습니다.

제 질문은 xpath가 올바르게 설계 되었습니까? 그렇다면 셀레늄을 사용하여 어떻게 실행해야합니까? Thx는 도움을 요청합니다. 두 번째 옵션을

"//span[text()='Test']/ancestor::*[1]/following-sibling::*/selec‌​t" 

예를 선택하는 XPath는 아래

+0

, 어떤 * 정확한 요소를 클릭하려고 *? 알기가 어렵습니다. 또한 이것을 위해 어떤 브라우저를 사용하고 있습니까? – Arran

+0

인터넷 익스플로러를 사용하고 있습니다. 드롭 다운 옵션 중 하나를 클릭하려고합니다. 나는 그것을 클릭하거나 선택해야하는지 잘 모르겠다. 나의 expath에서 나는 'tylko zapisz'를 클릭하려고 노력하고있다. Selenium.Click ("// span [text() = 'Status wniosku']/ancestor :: * [1]/following-sibling :: */select/option [text() = 'tylko zapisz'"); – Shuffler

답변

1

시도 : 위의 예제 HTML에서

Selenium.Select("//span[text()='Test']/ancestor::*[1]/following-sibling::*/selec‌​t","label=Save"); 
+0

그것은 작동하지 않지만 나에게 그것이 어떻게 작동해야하는지 아이디어를 주었다. Selenium.Select ("// span [text() = 'Test']/ancestor :: * [1]/following-sibling :: */선택 ","레이블 = 저장 "); 엄지 손가락으로 업데이트 할 수 있도록 게시물을 수정하십시오! :) – Shuffler

+0

그것은 당신을 도울 내 즐거움입니다 :) 나는 내 대답 bcz을 편집했습니다, 그것은 다른 사람에게 유용 할 수 있습니다. – Santoshsarma

관련 문제